在阅读了有关CSP和CSP网站的介绍之后,我想在我的网站上获得有关CSP违规的反馈日志。
因此,我.htaccess
在上面的链接中定义了我的标头:
Header set Content-Security-Policy "default-src 'self' https://www.google-analytics.com https://www.jscache.com;"
这行得通,但是由于各种原因,还有其他实体仍被阻止,因此我想设置CSP报告。同样,上面链接的文档中对此进行了明确解释。
回到我,.htaccess
我将行替换为:
Header set Content-Security-Policy-Report-Only "default-src 'self'; report-uri /csp_report_parser.txt;"
我要将所有非自我请求报告到一个文件中/csp_report_parser.txt
。我已经在与的相同位置创建了此文件.htaccess
,但是尽管有萤火虫反馈了该文件,但仍无法填充该文件:
内容安全政策:页面的设置在https://www.google-analytics.com/analytics.js(“ default-src http:// mywebsite ”)上观察到资源的加载。正在发送CSP报告。
并且其中许多每次都指出“正在发送CSP报告”。该报告应发送到的文件已存在,并且我已授予权限777,但该文件仍为空白。
我错过了将报告反馈提交到所述文件中的哪些内容?
我也尝试指定要报告的绝对URL,例如:
Header set Content-Security-Policy-Report-Only "default-src 'self'; report-uri http://mywebsite/csp_report_parser.txt;"
但是同样,尽管有上述浏览器的firebug语句,我域中的该文件仍为空白。
当我期望以JSON格式进行数据转储时,我真正需要的是先使用PHPjson_decode
函数处理传递的数据,然后再将其保存到文件中。
$data = json_decode(file_get_contents('php://input'), true);
file_put_contents('csp_report_parser.txt',print_r($data,true),FILE_APPEND);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句