Обнаружение нарушений CSP с помощью javascript

Можно ли обнаружить нарушение политики безопасности контента с помощью javascript?

Мой CSP работает и отправляет свои отчеты, где я вижу, что некоторые URL-адреса вводятся, вероятно, надстройками браузера. Я хотел бы показать пользователю подсказку, что какой-то аддон пытается изменить страницу.

Могу ли я каким-то образом обнаружить прерванное соединение с помощью javascript (который, конечно, сам занесен в белый список CSP)?


person allo    schedule 14.10.2016    source источник


Ответы (1)


Согласно спецификации CSP W3C, нарушение вызывает событие securitypolicyviolation. Для этого вы можете добавить прослушиватель событий.

document.addEventListener("securitypolicyviolation", function(e) {
    alert("Something is trying something bad!");
});

См. ссылку выше для свойств этого события.

В выпуске Firefox вам необходимо включить параметр security.csp.enable_violation_events, чтобы включить эту функцию. См. документацию по Экспериментальные функции в Firefox.

person Barmar    schedule 15.10.2016
comment
Это работает для вас в firefox? Хром работает, а файрфокс не работает. - person allo; 08.11.2018
comment
См. developer.mozilla.org/en-US/docs/Mozilla. /Firefox/ Он не включен по умолчанию в выпущенной версии, его можно включить в настройках. - person Barmar; 08.11.2018
comment
Спасибо. Я надеялся, что это будет работать в разных браузерах, чтобы я мог уведомлять пользователей моего сайта о вредоносных расширениях. В моем журнале CSP было несколько запросов, когда расширения пытались вставить код отслеживания и тому подобное. - person allo; 09.11.2018