Security 未识别内容安全策略报告uri
我正在以仅报告模式设置内容安全策略。当我测试它时,Google Chrome给出了以下错误: 内容安全策略“默认src”self;脚本src“self”“unsafe inline”https://use.typekit.com;font src https://use.typekit.com;样式src“self”“unsafe inline”https://use.typekit.com;frame src https://www.youtube.com;'以仅报告模式交付,但未指定“报告uri”;该策略将无效。请添加“report uri”指令,或通过“Content Security policy”标题交付该策略 这是我的完整内容安全策略,我在网站的头PHP文件中定义HTTP头:Security 未识别内容安全策略报告uri,security,parsing,http-headers,content-security-policy,Security,Parsing,Http Headers,Content Security Policy,我正在以仅报告模式设置内容安全策略。当我测试它时,Google Chrome给出了以下错误: 内容安全策略“默认src”self;脚本src“self”“unsafe inline”https://use.typekit.com;font src https://use.typekit.com;样式src“self”“unsafe inline”https://use.typekit.com;frame src https://www.youtube.com;'以仅报告模式交付,但未指定“报告u
header("Content-Security-Policy-Report-Only: default-src 'self';
script-src 'self' 'unsafe-inline' https://use.typekit.com https://js.hs-analytics.net https://google-analytics.com https://ajax.googleapis.com;
font-src https://use.typekit.com;
style-src 'self' 'unsafe-inline' https://use.typekit.com;
frame-src https://www.youtube.com;
report-uri /csp-violations-report-endpoint;
");
我在web根目录中有一个文件夹:csp违规报告端点,其中有一个index.php文件来处理违规行为
我不确定我做错了什么。我已经阅读并习惯于编写我的报告uri指令
我是否应该尝试将报告uri
指向根目录中的脚本?我应该让它自己登录,还是需要一个解析器来处理它?我的剧本可能有问题吗?(如果有帮助的话,我可以将其包括在内)
编辑:可能是我的web浏览器忽略了
报告uri
指令(因为它已被弃用),并期望报告执行
指令,这就是为什么它不起作用,但错误消息让我相信情况并非如此。我可能完全不正确,但是,如果您使用的代码完全如上图所示,那么您可能发送了一堆无效的头。HTTP头必须存在于一行上,而您的头不存在。试试这个:
header(
"Content-Security-Policy-Report-Only: default-src 'self'; " .
"script-src 'self' 'unsafe-inline' https://use.typekit.com https://js.hs-analytics.net https://google-analytics.com https://ajax.googleapis.com; " .
"font-src https://use.typekit.com; " .
"style-src 'self' 'unsafe-inline' https://use.typekit.com; " .
"frame-src https://www.youtube.com; " .
"report-uri /csp-violations-report-endpoint; "
);
就这样。我把它改成了一个连接的字符串,标题现在可以工作了。耶!