Я разрабатываю локальный исследовательский инструмент, который требует, чтобы я отключил ту же политику происхождения Firefox (с точки зрения доступа к скриптам меня не волнуют запросы между доменами).
В частности, я хочу, чтобы сценарии в домене хоста имели возможность доступа к произвольным элементам в любых фреймах, встроенных в страницу, независимо от их домена.
Я знаю предыдущие вопросы и ответы, в которых упоминалось расширение CORS FF, но это не то, что мне нужно, поскольку оно разрешает только CORS, но не доступ к скриптам.
Если это не может быть сделано легко, я также был бы признателен за любую информацию, которая укажет мне на конкретную часть кода FF src, которую я могу изменить, чтобы отключить SOP, чтобы я мог перекомпилировать FF.
источник
Ответы:
Существует расширение Firefox, которое добавляет заголовки CORS к любому HTTP-ответу, работающему в последней версии Firefox ( сборка 36.0.1 ), выпущенной 5 марта 2015 года . Я протестировал его, и он работает как на Windows 7, так и на Mavericks. Я расскажу вам, как заставить его работать.
1) Получение расширения
Вы можете скачать xpi отсюда (авторские сборки) или отсюда (зеркало, может не обновляться).
Или загрузите файлы с GitHub. Теперь он также доступен в Firefox Marketplace: Загрузите здесь . В этом случае надстройка устанавливается после нажатия кнопки «Установить», и вы можете перейти к шагу 4.
Если вы скачали xpi, вы можете перейти к шагу 3. Если вы загрузили zip-архив с GitHub, перейдите к шагу 2.
2) Создание XPI
Вам нужно распаковать zip, попасть в папку «cors-везде-firefox-addon-master», выбрать все элементы и заархивировать их. Затем переименуйте созданный zip в * .xpi
Примечание. Если вы используете графический интерфейс OS X, он может создавать некоторые скрытые файлы, поэтому вам лучше использовать командную строку.
3) Установка xpi
Вы можете просто перетащить xpi в firefox или перейти к: «about: addons», щелкнуть шестеренку в правом верхнем углу и выбрать «установить надстройку из файла», затем выбрать файл .xpi. Теперь перезапустите firefox.
4) Заставить его работать
Теперь расширение не будет работать по умолчанию. Вам нужно перетащить значок расширения на панель расширений, но не беспокойтесь. Есть картинки!
5) Проверка работоспособности
jQuery
JavaScript
6) Заключительные соображения
Обратите внимание, что https на http недопустим .
Возможно, есть способ обойти это, но это лежит в основе вопроса.
источник
security.mixed_content.block_active_content
в ложь иsecurity.mixed_content.block_display_content
в верно . Имейте в виду, что вы отключаете некоторую безопасность, и это должно быть временным решением.источник
file://
протоколом. Ученые-компьютерщики должны придавать большее значение слову «что угодно» - если вы не проверили все (чего вы еще не делали), постарайтесь быть более консервативными в своих замечаниях. То же самое и со словом «бесполезный».Я понял, что мой старый ответ отвергнут, потому что я не указал, как конкретно отключить ту же политику происхождения FF. Здесь я дам более развернутый ответ:
Предупреждение: это требует повторной компиляции FF, и недавно скомпилированная версия Firefox не сможет снова включить SOP.
Ознакомьтесь с исходным кодом Mozilla Firefox, найдите nsScriptSecurityManager.cpp в каталоге src. Я буду использовать в качестве примера тот, который указан здесь: http://mxr.mozilla.org/aviarybranch/source/caps/src/nsScriptSecurityManager.cpp
Перейдите к реализации функции nsScriptSecurityManager :: CheckSameOriginURI, которая является строкой 568 на дату 02.03.2016.
Сделайте так, чтобы эта функция всегда возвращала NS_OK.
Это навсегда отключит СОП.
Ответ надстройки браузера от @Giacomo должен быть полезен для большинства людей, и я принял этот ответ, однако для моих личных исследовательских потребностей (TL; здесь не буду объяснять) этого недостаточно, и я полагаю, что другим исследователям может потребоваться то, что Я сделал здесь, чтобы полностью убить СОП.
источник
Я написал надстройку для решения этой проблемы в Firefox (скоро появится версия Chrome, Opera). Он работает с последней версией Firefox с красивым интерфейсом и поддерживает регулярное выражение JS: https://addons.mozilla.org/en-US/firefox/addon/cross-domain-cors
источник
По состоянию на сентябрь 2016 года этот аддон лучше всего отключает CORS : https://github.com/fredericlb/Force-CORS/releases
На панели параметров вы можете настроить, какой заголовок вводить и на каком конкретном веб-сайте он будет включен автоматически.
источник
В CORS-везде аддон работает для меня до Firefox 68, после 68 Мне нужно настроить «privacy.file_unique_origin» -> False (по открытому «о: конфигурациях») для решения « CORS запроса не HTTP » для нового CORS правил общего происхождения введен.
источник
В
about:config
дополненииcontent.cors.disable
(пустая строка).источник
true
, но ничего не говорит оfalse
других значениях. «В Firefox предпочтение, которое отключает CORS, - это content.cors.disable. Установка этого значения в true отключает CORS, поэтому в любом случае запросы CORS всегда завершаются сбоем с этой ошибкой». developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors/…