我们已经启用了"仅内容安全策略报告";具有"0"的响应报头;报告uri";指示报告所有违规行为。
<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>
每当在加载网页时违反策略时,浏览器将自动对我们注册的端点"进行POST调用/myApp/api/v1/csp/report";发送带有冲突的JSON请求。
但这个呼叫失败了,403-Forbidden。
我们的应用程序还期望在所有POST/PUT Http调用的请求标头中有一个CSRF令牌由于此API调用是自动从浏览器进行的,因此它不会发送我们的应用程序所期望的CSRF令牌,因此失败我们如何将新的HTTP标头添加到从浏览器自动进行的调用中
提前谢谢。
你不能。
您需要为CSP错误设置端点,这样它就不需要CSRF令牌。
这不应该是一个严重的问题:您提供的错误报告API不应该能够做任何真正需要CSRF保护的事情(例如使用用户身份向公众公开个人数据或发布内容(。