.htaccess HTML标头内容安全策略未报告到文件

.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

在阅读和阅读之后,我想在我的网站上获得CSP违规的反馈日志

因此,我在我的
.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);