1

В последнее время я пытался разрешить определенные сценарии только для определенных сайтов через NoScript ABE. В частности, я хочу:

  • Разрешить некоторые скрипты от Google везде
  • Разрешить некоторые скрипты от Google только на сайтах Google (например, для Google drive/docs)
  • Разрешить скрипты из Facebook только на Facebook

Я не могу заставить все это работать. Я вполне уверен, что Facebook должен, потому что я взял пример почти непосредственно из документации NoScripts на Abe:

Site .facebook.com .fbcdn.net .akamaihd.net
Accept from .facebook.com .fbcdn.net .akamaihd.net
Deny INCLUSION(SCRIPT, OBJ, SUBDOC)

Единственное изменение, которое я сделал, - это добавление .akamaihd.net, хотя без этого он тоже не работает. Вот снимок экрана с моими настройками на случай, если я сделал что-то действительно глупое, например, поместил это в неправильный раздел:

Скриншот настроек ABE

Создание нового профиля Firefox, установка NoScript и пробование правил там дают тот же результат, поэтому я не думаю, что проблема заключается в другом дополнении или неправильной конфигурации Firefox. Я использую 64-битный Firefox 35.0.1 на Fedora 21.

1 ответ1

2

Правила домена, которые вы перечислили, в порядке - пробовали ли вы занести в белый список сайт и посмотреть, совпадают ли вызовы ABE?

Подробный ответ:

ABE работает независимо от NoScript. Так как он был предназначен для ограничения нежелательного / опасного поведения сценариев / сайтов, на которых уже запущены сценарии, он просто не будет работать, если у вас нет сайта в белом списке.

Итак, в качестве первого шага в тестировании правил ABE, внесите белый список на сайт.

После того, как сайт занесен в белый список и написано правило, вы (как и я) можете опасаться, что, не увидев какого-либо подтверждения, будут запущены сценарии с других сайтов. К счастью, ABE регистрирует все совпадения на консоли ошибок, из которой вы можете подтвердить, что правило было найдено, и полученный запрос был заблокирован / разрешен.

К сожалению, этот тип журналирования не рекомендуется в FireFox - чтобы включить консоль ошибок, перейдите к about:config и установите для devtools.errorconsole.enabled значение true. Затем вы можете открыть консоль ошибок из меню инструментов и посмотреть, как работает ABE. Смотрите эту статью MDN здесь.

Если все пойдет по плану, вы увидите что-то вроде этого (ABE отказывает в вызове скрипта на twitter.com с newsweek.com):

ABE в действии

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .