如何在控制台中修复此错误?
Error parsing header X-XSS-Protection: 1; mode=block, 1;
mode=block:expected semicolon at character position 14.
The default protections will be applied.
如果即使发送了正确的标头也显示错误,请检查是否发送了两次标头这显示在网络下面的错误控制台中,您可以单击任何文件。
如果对于服务器,可能会发送两次标头
add_header X-XSS-Protection "1; mode=block";
被记录在两个不同的包含文件中,或者一个包含文件被包含两次。浏览器或至少chrome将两个标头连接在一起,然后在内部应用WRONG规则,如问题所示:
X-XSS-Protection: "1; mode=block, 1; mode=block"
我在Chrome中也遇到了同样的错误。我正在将标题添加到多个站点。
相反,如果您使用NGINX:,则应该将其添加到http
块中
http {
add_header X-XSS-Protection "1; mode=block";
...
}
当我通过NGINX代理Docker服务时,我遇到了这个错误。Docker服务和NGINX都添加了头,所以我需要进行重复数据消除。我终于想出了这个:
map $upstream_http_x_xss_protection $xss_p {
'' '1; mode=block';
}
add_header X-XSS-Protection $xss_p always;
我称之为"穷人的set_header
"。感谢大卫和科比的精彩提示。
如果您正在使用Akamai,请在配置中使用"修改"而不是"添加"行为。请确保您已选择"避免重复标头"选项,该选项仅在"修改"模式中可用。
您没有遵循X-XSS-Protection的正确语法,因此会出现解析错误。
我想你正在寻找这个:
X-XSS-Protection: 1; mode=block
因此,删除末尾的, 1
如果您正在处理负载均衡器,请不要将额外的头放在负载均衡器上。标头将被填充,并通过负载均衡器从服务器传递出去。将它放在两者上会导致重复的标头并导致此错误。