Как и было обещано, эта функция теперь включена по умолчанию: CSP Frame Ancestors enabled by default
Здравствуйте,
Я сейчас настраиваю Google AdSense на своём сайте и, похоже, у меня отсутствует настройка «Включить сбор отчетов о нарушениях CSP по адресу /csp_reports». Я самостоятельно размещаю Discourse версии 2.9.0.beta6.
Выше, в цитате, скриншот отсутствующей настройки.
Выше — моя страница настроек CSP, где отсутствует пункт «Включить сбор отчетов о нарушениях CSP по адресу /csp_reports».
Буду признателен за любую помощь! И, пожалуйста, подскажите, правильно ли я настроил параметры для AdSense — я раньше никогда с ним не работал
!
Приносим извинения: мои предыдущие ответы здесь устарели, так как примерно месяц назад мы сделали content_security_policy_collect_reports скрытой настройкой. Вы всё ещё можете её включить, но только через консоль Rails, например:
./launcher enter app
...
rails c
...
SiteSetting.content_security_policy_collect_reports = true
Обратите внимание, что это создаёт очень много шума в логах. Мы настоятельно не рекомендуем идти этим путём; вместо этого просто включите CSP и проверяйте сайт с открытой консолью браузера в нескольких браузерах (Chrome, Firefox, Safari). Так вы обнаружите большинство проблем. Кроме того, с вашей текущей конфигурацией вы фактически разрешаете почти всё то, от чего защищает CSP, поэтому вам, скорее всего, не понадобятся отчёты.
Возможно, я что-то упускаю, но я не вижу этих настроек в интерфейсе настроек.
content_security_policycontent_security_policy_report_onlycontent_security_policy_collect_reports(вижу, что сейчас она скрыта)content_security_policy_script_src
Доступны ли эти опции для размещённых экземпляров? В оригинальном посте или комментариях я не нашёл упоминаний о том, что это ограничение.
Редактирование: Также попытался установить политику безопасности через тему.
Кажется, это не работает так, как описано в оригинальном посте.
Я предполагаю, что мой тарифный план для размещённой версии не позволяет этого делать, даже если действовать через тему или компонент темы?
Или, возможно, я просто что-то делаю совершенно неправильно.
В настоящее время Discourse по умолчанию предоставляет политику CSP уровня 2 со следующими директивами:
base-uriограничивает URL-адреса для элемента<base>
Существует ли возможность переопределить значение по умолчанию для заголовка base-uri?
Где на самом деле используются элементы <base> в дискурсе?
Не сломает ли это push-уведомления в Discourse?
Может быть. Возможно, потребуется более подходящая настройка.
Пост был разделён на новую тему: Какой метод рекомендуется для использования защищённых изображений?
Здравствуйте,
Подскажите, пожалуйста, как обойти проблему, описанную ниже? Я добавил скрипт, вызывающий новое выражение Function(), в директиву content_security_policy_script_src, но консоль браузера по-прежнему выдает следующую ошибку. Где можно исключить unsafe-eval? Спасибо!
Uncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive:
Приношу извинения. Пожалуйста, проигнорируйте мой предыдущий пост, если мои следующие замечания верны. Я понял из предыдущих сообщений, что можно напрямую установить значение ‘unsafe-eval’ для content_security_policy_script_src, и теперь в консоли больше не сообщается об ошибках JavaScript.
Возможно, стоит посмотреть на настройку сайта content security policy script src?
Да. Как указывалось в предыдущих ответах, «unsafe-eval» можно добавить непосредственно в content_security_policy_script_src. Я думал, что разрешено добавлять только базовый URL или полный URL.



