.htaccess HTML标头内容安全策略未报告到文件
在阅读和阅读之后,我想在我的网站上获得CSP违规的反馈日志 因此,我在我的.htaccess HTML标头内容安全策略未报告到文件,.htaccess,http-headers,content-security-policy,.htaccess,Http Headers,Content Security Policy,在阅读和阅读之后,我想在我的网站上获得CSP违规的反馈日志 因此,我在我的.htaccess中设置了一个标题,如上面链接中所定义: Header set Content-Security-Policy "default-src 'self' https://www.google-analytics.com https://www.jscache.com;" 这有效,但由于各种原因,还有其他实体仍被阻止,因此我想设置CSP报告。同样,上面链接的文档中清楚地解释了这一点 然后返回my.htacce
.htaccess
中设置了一个标题,如上面链接中所定义:
Header set Content-Security-Policy "default-src 'self' https://www.google-analytics.com https://www.jscache.com;"
这有效,但由于各种原因,还有其他实体仍被阻止,因此我想设置CSP报告。同样,上面链接的文档中清楚地解释了这一点
然后返回my.htaccess
我将该行替换为:
Header set Content-Security-Policy-Report-Only "default-src 'self'; report-uri /csp_report_parser.txt;"
我想将所有非self请求报告到一个文件中,/csp\u report\u parser.txt
。我在与.htaccess
相同的位置创建了此文件,但该文件未能填充,尽管firebug的反馈指出:
内容安全策略:页面的设置观察到在(“默认src”)加载资源。正在发送CSP报告
其中很多都是“CSP报告正在发送”。此报告应发送到的文件已存在,我已授予777权限,但该文件仍为空
我遗漏了什么才能将此报告反馈写入所述文件?
我还尝试指定要报告的绝对URL,例如:
Header set Content-Security-Policy-Report-Only "default-src 'self'; report-uri http://mywebsite/csp_report_parser.txt;"
但是,我的域上的这个文件仍然是空的,尽管上面有浏览器firebug语句 当我期待一个JSON格式的数据转储时,我实际需要的是首先处理要转储的传递数据,在将数据保存到文件之前使用PHP
JSON\u decode
函数
$data = json_decode(file_get_contents('php://input'), true);
file_put_contents('csp_report_parser.txt',print_r($data,true),FILE_APPEND);