HTML Header 内容安全策略未报告到文件
HTML Header Content Security Policy not reporting to file
阅读后 an introduction to CSP and the CSP website 我想在我的网站上获得 CSP 违规的反馈日志。
所以,我在我的 .htaccess
中设置了一个 header,如上面链接中所定义:
Header set Content-Security-Policy "default-src 'self' https://www.google-analytics.com https://www.jscache.com;"
这 有效 ,但由于各种原因还有其他实体仍被阻止,所以我想设置一个 CSP report .同样,上面链接的文档中清楚地解释了一些内容。
然后回到我的.htaccess
,我将这一行替换为:
Header set Content-Security-Policy-Report-Only "default-src 'self'; report-uri /csp_report_parser.txt;"
我想将所有 non-self 请求报告到文件 /csp_report_parser.txt
中。我在与 .htaccess
相同的位置创建了这个文件,但文件未能填充,尽管 firebug 的反馈指出:
Content Security Policy: The page's settings observed the loading of a resource at https://www.google-analytics.com/analytics.js ("default-src http://mywebsite"). A CSP report is being sent.
其中许多每次都显示 "A CSP report is being sent"。此报告应发送到的文件存在,我已授予权限 777,但该文件仍为空白。
我错过了什么才能将此报告反馈写入所述文件?
我也试过指定一个绝对 URL 来报告,例如:
Header set Content-Security-Policy-Report-Only "default-src 'self'; report-uri http://mywebsite/csp_report_parser.txt;"
但是,尽管浏览器有上述 firebug 声明,我域中的这个文件仍然是空白的。
虽然我期待 JSON 格式的数据转储,但我实际需要的是处理要转储的传递数据 首先 ,使用 PHP json_decode
函数在将数据保存到文件之前。
$data = json_decode(file_get_contents('php://input'), true);
file_put_contents('csp_report_parser.txt',print_r($data,true),FILE_APPEND);
阅读后 an introduction to CSP and the CSP website 我想在我的网站上获得 CSP 违规的反馈日志。
所以,我在我的 .htaccess
中设置了一个 header,如上面链接中所定义:
Header set Content-Security-Policy "default-src 'self' https://www.google-analytics.com https://www.jscache.com;"
这 有效 ,但由于各种原因还有其他实体仍被阻止,所以我想设置一个 CSP report .同样,上面链接的文档中清楚地解释了一些内容。
然后回到我的.htaccess
,我将这一行替换为:
Header set Content-Security-Policy-Report-Only "default-src 'self'; report-uri /csp_report_parser.txt;"
我想将所有 non-self 请求报告到文件 /csp_report_parser.txt
中。我在与 .htaccess
相同的位置创建了这个文件,但文件未能填充,尽管 firebug 的反馈指出:
Content Security Policy: The page's settings observed the loading of a resource at https://www.google-analytics.com/analytics.js ("default-src http://mywebsite"). A CSP report is being sent.
其中许多每次都显示 "A CSP report is being sent"。此报告应发送到的文件存在,我已授予权限 777,但该文件仍为空白。
我错过了什么才能将此报告反馈写入所述文件?
我也试过指定一个绝对 URL 来报告,例如:
Header set Content-Security-Policy-Report-Only "default-src 'self'; report-uri http://mywebsite/csp_report_parser.txt;"
但是,尽管浏览器有上述 firebug 声明,我域中的这个文件仍然是空白的。
虽然我期待 JSON 格式的数据转储,但我实际需要的是处理要转储的传递数据 首先 ,使用 PHP json_decode
函数在将数据保存到文件之前。
$data = json_decode(file_get_contents('php://input'), true);
file_put_contents('csp_report_parser.txt',print_r($data,true),FILE_APPEND);