问题描述
我们已通过“ report-uri”指令启用了“ Content-Security-Policy-Report-Only”响应标头,以报告所有违规行为。
<param-name>Content-Security-Policy-Report-Only</param-name>
<param-value>default-src 'none'; connect-src 'self' api.amplitude.com; font-src 'self';
img-src 'self' script-src 'self' 'unsafe-eval'
'unsafe-inline';style-src 'self' 'unsafe-inline';manifest-src
'self';frame-ancestors 'none'; frame-src 'self';
report-uri /myApp/api/v1/csp/report;</param-value>
只要网页加载策略中有违规行为,浏览器就会自动对我们注册的端点“ / myApp / api / v1 / csp / report”进行POST调用,并发送带有违规行为的JSON请求。
我们的应用程序还期望所有POST / PUT Http调用的请求标头中都包含CSRF令牌。 由于此API调用是从浏览器自动进行的,因此它不会发送我们的应用程序期望的CSRF令牌,因此会失败。 如何将新的HTTP标头添加到由浏览器自动进行的此调用中?
谢谢。
解决方法
你不能。
您需要为CSP错误设置终结点,因此不需要CSRF令牌。
这不应该是一个严重的问题:您提供的错误报告API不应执行真正需要CSRF保护的任何操作(例如使用用户的身份公开个人数据或向公众发布内容)