使用Javascript捕获Content-Security-Policy异常

时间:2017-06-08 12:58:20

标签: javascript security cross-browser content-security-policy

我们已经在我们的huuuge单页网络应用程序中实施了CSP。我们不断收到错误,一些错误是由于用户表单输入处理不当导致的,有些错误似乎来自用户浏览器。

当发生CSP异常时,有没有办法在客户端收集更多数据?服务器端报告错过了重要数据。我们知道源来源网址,被屏蔽网址,违反规则/指令......但这没有用,因为我们目前还不知道屏幕上的内容以及用户的浏览器是否应该受到指责。

我们需要知道

  • 当时正在查看javscript模块/ JS层/详细信息
  • 请求该资源的原始源/触发器在哪里 - 是我们显示某些机器人注入的未清理的嵌入式HTML的错误,还是用户的受感染浏览器插入这些恶意软件链接?

是否有像window.onCSPException = func这样的钩子我们可以挂钩并运行客户端分析?我们需要快速区分客户端浏览器的问题。

1 个答案:

答案 0 :(得分:0)

https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP#Enabling_reporting

  

默认情况下,不会发送违规报告。要启用违规报告,您需要指定report-uri策略指令,至少提供一个用于传递报告的URI:

     

Content-Security-Policy: default-src 'self'; report-uri http://reportcollector.example.com/collector.cgi

     

然后您需要设置服务器以接收报告;它可以以您认为合适的任何方式存储或处理它们。