自分で別のマシン(またはVMWareイメージ)を取得し、すべてのCookieを削除し、すべてのサイトのすべてのCookieを許可してから、サイトにアクセスしてログインします(すでに試したことに似ています)。
その後、銀行セッションが終了した後(またはテストのために短命のクッキーを有効にしている場合)、クッキージャーを見て、銀行が何を追加したかを確認してください。それは実際のマシンに追加する必要のあるドメインを示すはずです。
それでも解決しない場合は、銀行に連絡して問題を説明してください。彼らは、あなたが許可する必要があるものを教えたり、それらをすべて許可するように指示したりします。後者の場合は、銀行として維持する価値があるかどうかを判断する必要があります。
また、次のいずれかを実行できますVMは、あなたがあなたのメインのボックスに表示されたすべてのクッキーをしたくない場合は、銀行にアクセスするためのサンドボックスとして設定
- 使用。
- FFシャットダウン後にホワイトリストに登録されていないCookieをすべて削除するスクリプトを設定します。
- クッキーについて心配するのをやめ、ただ許可します(私はクッキーが攻撃ベクトルとして使用されていると聞いたことはありません)。
あなたのアカウントの詳細(ユーザー/パスワード)を私に送ってください。私はここからデバッグできるかどうかを確認します:-)ちょうど冗談です。
更新:
あなたの銀行が要件を確認する特に非道な方法があります。彼らはあなたがすべてのクッキーを受け入れているかどうかを確認します。クッキーを作成してそれを読み取ることができるかどうかを確認するだけで、クッキーマネージャーと互換性があります。
彼らが持っているコードは次のとおりです。
function testCookie() {
if (typeof navigator.cookieEnabled !== "undefined") {
return !!navigator.cookieEnabled;
} else{
document.cookie="testcookie";
return document.cookie.indexOf("testcookie")!=-1;
}
}
if(!testCookie()){
var browserWarningString = '';
browserWarningString += '<div class="warning">';
browserWarningString += '<p>To login to online banking, you must have
JavaScript and cookies enabled.</p>';
browserWarningString += '</div>\n';
document.getElementById("loginAuth").innerHTML = browserWarningString;
}
それはtestCookie()
の最初のビット、問題があるreturn !!navigator.cookieEnabled
ビットです。ホワイトリストURLの量は、cookieEnabled
がtrueに設定されている(これはあなたのためではありませんが、そうでなければ)ことが確認された後にのみ役立ちます。
理想的には、そのtestCookie()
機能を置き換えられるHTMLに置き換えることができます。
別の銀行の同じ問題について話している同様のサイトを見つけました(銀行には脳死のJavascriptの子供たちがいます)。hereと2つの提案された解決策があります。
最初にGreaseMonkeyをインストールし、このスクリプトhereを使用しました。明らかに、これは銀行のために変更する必要があります(URL、関数名など)。
上記の最初のリンクの最後の投稿(現時点では、「afternoonnap、2009年2月15日10時10分」を参照)は、NoScriptを使用して同じ結果を達成する方法も示しています。これには、cookieEnabledスクリプト(その特定のページ)をより合理的なものに置き換えることが含まれますが、私はたぶんそれを"return true"
に置き換えて、結果をハングアップします:-)。
多少役に立ったと思っています。
リンクが完全に消えてしまった場合は、ここで2つのスクリプトを取り上げます。 GreaseMonkey 1がに沸く:
[email protected]*.tdcanadatrust.com
noscript.surrogate.nce.replacement=navigator.__defineGetter__(
"cookieEnabled",function(){
var ed=new Date;
ed.setTime(0);
var tc="__noscriptTestCookie_"+Math.round((Math.random()*99999))
.toString(16)+"=1";
document.cookie=tc;
var ok=document.cookie.indexOf(tc)>-1;
document.cookie=tc+";expires="+ed.toGMTString();
return ok
}
);
テストおよび更新:
// ==UserScript==
// @name TD Canada Trust EasyWeb Repair
// @namespace tag:GossamerGremlin,2007-04-28:Repair
// @description Repair TD Canada Trust EasyWeb website.
// @include https://easyweb*.tdcanadatrust.com/*
// @exclude
// ==/UserScript==
var scriptName = "TD Canada Trust EasyWeb Repair";
// The above @include pattern is overbroad because it exposes this
// user script to potential attacks from URLs such as this:
// https://easyweb.evil.example.com/not.tdcanadatrust.com/bad.html
// The following check eliminates such possibilities:
if (location.href.match(/^https:\/\/easyweb\d\d[a-z].tdcanadatrust.com\//))
{
// Visibly mark page to remind that this script is in use.
if (document.body)
{
host = document.location.host;
dummyDiv = document.createElement('div');
dummyDiv.innerHTML = '<div><span style="color: red">Greased by: ' +
scriptName + ' (' + host + ')</span></div>';
document.body.insertBefore(dummyDiv.firstChild,
document.body.firstChild);
}
unsafeWindow.navigator.__defineGetter__("cookieEnabled",
canStoreCookieFixed);
}
// canStoreCookieFixed()
// TD's version relies on navigator.cookieEnabled, which is not set
// if customer has cookie manager, even when cookies are allowed for
// EasyWeb. The only reliable check for enabled cookies is to actually
// test if session cookie settings succeed, as done in this function
// replacement.
function canStoreCookieFixed()
{
var testSessionCookie ="testSessionCookie=Enabled";
document.cookie = testSessionCookie;
return (document.cookie.indexOf(testSessionCookie) != -1);
}
NoScriptのバージョンは ":設定についてに以下を追加します" に沸きます:
インストールするとスクリプトとログインプロンプトがあなたの銀行のために現れ、次about:config
の項目を追加し、FF3で完全にクッキーをオフにするので、私はこれはおそらく行くための方法だと思います:
noscript.surrogate.nce.sources = *.citizensbank.ca
noscript.surrogate.nce.replacement =
navigator.__defineGetter__("cookieEnabled",function(){return true});
私はあなたがこのおよびテストを行う示唆それでもあなたのすべての機能が確実に保持されていることを確認してください。
これは本当にスーパーユーザに属します。 – Zifre
私はこれを「パワーユーザー」の問題ではなく「リバースエンジニアリング」の問題として分類します。多分、三部作はprequel-denialofservice.com(ハッカーのために)を必要とするでしょう。彼らのサポートは、投稿された「要件」を参照して回答を提供することを拒否したので、それは良い選択でした。その1つはすべてのCookieを許可することです。 – ultracrepidarian
@名人、あなたの銀行のJSコードを詳しく見てみると、ホワイトリストは機能しません。詳細については、私のアップデートを参照してください。 – paxdiablo