使用javascript检测CSP违规

时间:2016-10-14 23:59:19

标签: javascript content-security-policy

是否可以使用javascript检测内容安全策略违规?

我的CSP工作并发送报告,我看到一些网址被注入,可能是浏览器插件。我想向用户显示一个提示,一些插件尝试修改页面。

我可以以某种方式检测与javascript的中止连接(当然它在CSP中列入白名单)吗?

1 个答案:

答案 0 :(得分:8)

根据W3C CSP specification,违规会触发securitypolicyviolation事件。您可以为此添加事件侦听器。

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

请参阅上面的链接了解此活动的属性。

在Firefox版本中,您需要启用security.csp.enable_violation_events首选项才能启用此功能。请参阅Experimental Features in Firefox文档。