Я получил бы еще одну машину (или изображение VMWare), удалить все куки, разрешить все файлы cookie со всех сайтов, затем перейти на ваш сайт и войти в систему (что похоже на то, что вы уже пробовали).
Затем, после завершения банковской сессии (или во время, если они создают недолговечный файл cookie только для тестирования, вы включили их), посмотрите на свою банку с печеньем, чтобы узнать, что добавил банк. Это должно указать вам домены, которые вам нужно добавить на свою настоящую машину.
Если это не помогает, обратитесь в банк и объясните свои проблемы. Они либо расскажут вам, какие из них вам нужно разрешить, либо они скажут вам, чтобы разрешить им все. Если последнее, вам нужно решить, стоит ли их хранить в качестве своего банка.
В качестве альтернативы, вы можете:
- использование, которое VM вы создали в песочнице для доступа к банку, если вы не хотите, чтобы все печенье, появляющиеся на главном окне.
- Создайте скрипт, чтобы удалить все небелосованные файлы cookie после закрытия FF.
- перестать беспокоиться о печеньях и просто разрешить их (я не думаю, что когда-либо слышал о том, что файлы cookie используются как вектор атаки).
Если вы хотите, пришлите мне свои реквизиты (пользователь/пароль), и я увижу, могу ли я отладить его отсюда :-) Просто шутите (на случай, если это не сразу станет очевидным).
Update:
Ваш банк имеет особенно гнусный способ проверки требований. Они проверяют, принимаете ли вы ВСЕ файлы cookie, что у них вообще нет. Они должны просто посмотреть, могут ли они создать файл cookie и прочитать его, что сделает их совместимыми с менеджерами файлов 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 kiddies :-) here, а также два предлагаемых решения.
Первым было установить GreaseMonkey и использовать этот скрипт here. Очевидно, это нужно будет изменить для вашего банка (URL-адреса, имя функции и т. Д.).
Последнее сообщение на этой первой ссылке выше (на данный момент, смотрите «postnap, February 15th, 2009, 10:10 am») также показывает, как добиться того же результата с помощью NoScript. Это связано с заменой скрипта cookieEnabled (для этой конкретной страницы) более рациональным, хотя я бы просто решил заменить его на "return true"
и повесить последствия :-).
Надеюсь, что это поможет.
Для полноты (в случае, если ссылки когда-либо исчезнут), я включу здесь два сценария. GreaseMonkey один сводится к:
// ==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 сводится к "добавьте следующую строку о: конфигурации":
[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
}
);
испытания и обновление:
Когда я устанавливаю noscri рх и отключить куки вообще в FF3, затем добавьте следующие about:config
детали, Войти подсказка показывает на свой банк, так что я думаю, что это, вероятно, путь:
noscript.surrogate.nce.sources = *.citizensbank.ca
noscript.surrogate.nce.replacement =
navigator.__defineGetter__("cookieEnabled",function(){return true});
Я предлагаю вам сделать это и испытание чтобы убедиться, что у вас все еще есть все возможности.
Это действительно относится к SuperUser. – Zifre
Я бы классифицировал это как проблему «обратного проектирования», а не проблему «власти пользователя». Возможно, трилогия нуждается в приквеле - denialofservice.com (для хакеров). Это было бы хорошо, поскольку их поддержка отказалась предоставить ответ, ссылаясь на опубликованные «Требования», одним из которых является разрешение всех файлов cookie. – ultracrepidarian
@nameanyone, после более пристального взгляда на ваш JS-код банков, белый список не будет работать. Подробнее см. В моем обновлении. – paxdiablo