Значит пишу небольшое расширение для Firefox, это расширение анализирует и получает некоторые значения из документа текущей открытой страницы.
Тоесть после полной загрузки веб-страницы расширение приступает к анализу документа и выводит пользователю нужные данные.

Так вот в чем проблема, когда пользователь посещает фишинговые сайты (сайты с вирусами), браузер подменяет оригинальные страницы своей заглушкой с предупреждением.
В этом случае если попробовать получить документ текущей страницы (которая с предупреждением), например через

Выделить код

Код:

content.document

, то браузер возвращает разные документы:
1. возвращает документ с пустыми тегами <body> и <head>
2. возвращает разметку заглушки с предупреждением
3. возвращает документ предыдущей страницы

Таким образом очень проблематично узнать что браузер считает текущую страницу фишинговой. И что не нужно моему расширению парсить ее.

Как узнать что браузер считает текущую страницу фишинговой и заменил документ на свое предупреждение.

P.S. Я знаю что Firefox качает свою базу  BlackList из гугла, но я не хочу чтоб расширение каждый раз слало запрос на проверку сайта.
Я знаю что Firefox хранит BlackList в базе SQL (http://forum.mozilla-russia.org/viewtopic.php?id=55587) но он там хранит сайты в непонятном формате и извлекать их для
меня проблематично.

Magneto
Не проще обнаружить, что браузер показывает пользователю "заглушку" и ничего с ней не делать?
При обнаружении фишингового сайта браузер открывает страницу about:blocked?e=malwareBlocked&u=адрес&s=blacklist&c=*

Например:

скрытый текст
Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.

Пандёнок пишет

При обнаружении фишингового сайта браузер открывает страницу about:blocked?e=malwareBlocked&u=адрес&s=blacklist&c=*

При этом браузер не меняет адрес в адресной строке и возвращает адрес фишингового сайта

okkamas_knife пишет

но по идее браузер должен както сигнализировать что это плохой сайт значком там или специфическим сообщением - соответственно мониторь его наличие перед проверкой и если есть сигнал то соответственно не запускай парсинг данных

Вот я и спрашиваю как узнать что данный сайт находится в БлэкЛисте (не отправляя запросы в гугл и не ковыряя базу Firefox)?

Magneto
Однако я вижу адрес с помощью Диагностики для Adblock Plus. Раз оно определяет, то и Ваше расширение может определять.

Magneto пишет

Вот я и спрашиваю как узнать

Вот так и узнать. Работа расширения с базой адресов сайтов быстрее не будет.

Лучше бы пример приложили, а то искать пришлось. :)
http://www.mozilla.org/firefox/its-an-attack.html
Проверить можно так:

Выделить код

Код:

if(content.document.documentURI.substr(0, 14) == "about:blocked?")
    alert("Blocked");
else
    alert("Ok");

1

Выделить код

Код:

content.document.documentURI

на фишинговых страницах, действительно возвращает адрес типа : about:blocked?e=malwareBlocked&u=http%3A//chazot.ru/&s=blacklist&c=UTF-8&d=%D0%98%D0%BC%D0%B5%D0%B5

2
Но если установить фишинговую страницу в качестве домашней то возвращает : about:blank

3
И еще хуже, если в новой вкладке открыть сайт, например http://habrahabr.ru/, а после в адресную строку ввести адрес фишингового сайта, например ( http://ianfette.org/ или http://chazot.ru/ или http://culturedep.ru/ или http://arbat.net.ua/ ), то вернется : http://habrahabr.ru/, тоесть адрес предыдущего сайта.

А где будут висеть блэк листы черных сайтов, которые попадут под новый закон РФ никто не в курсе ?
Явно протест википедии ничего не даст и закон 100% будет принят ! :(

13-07-2012 01:49:21

Milo пишет

А где будут висеть блэк листы черных сайтов, которые попадут под новый закон РФ никто не в курсе ?
Явно протест википедии ничего не даст и закон 100% будет принят ! :(

P.S. Было бы не плохо в мозиле иметь ссылочку или кнопочку на такие ресурсы, ну чтобы обойти их со стороны.

Milo пишет

Явно протест википедии ничего не даст и закон 100% будет принят ! :(

Это Вы не в курсе. Он уже принят Гос. Думой.

Milo пишет

P.S. Было бы не плохо в мозиле иметь ссылочку или кнопочку на такие ресурсы, ну чтобы обойти их со стороны.

Нет, плохо. Но это давно уже сделано.