使用x-xss-protection时为什么在chrome控制台中出现这个错误?

Vam*_*hna 41 security xss header

如何在控制台中修复此错误?

Error parsing header X-XSS-Protection: 1; mode=block, 1;
mode=block:expected semicolon at character position 14.
The default protections will be applied.
Run Code Online (Sandbox Code Playgroud)

Dav*_*vid 45

如果即使您发送了正确的标题也显示错误,请检查您是否发送标题两次.这显示在网络下面的错误控制台中,您单击任何文件.

如果是服务器,则可能发生两次发送标头

add_header X-XSS-Protection "1; mode=block";
Run Code Online (Sandbox Code Playgroud)

在两个不同的包含文件中注明,或者包含两个包含文件.浏览器或至少chrome会在内部连接两个标头,然后应用WRONG规则,如问题中所示:

X-XSS-Protection: "1; mode=block, 1; mode=block"
Run Code Online (Sandbox Code Playgroud)

  • 这就是我的答案,我已经在.htaccess中添加了它,并且我的php代码头中也有一行(x-xss-Protection);,从php删除该行,谢谢@david (2认同)
  • 肯定是两次添加标题。一次通过Nginx,第二次通过Express头盔。删除了快速头盔设置头,并且所有问题均已修复。谢谢你的指点! (2认同)

Chr*_*eta 5

我在Chrome中遇到了同样的错误.我正在将标题添加到多个站点.

相反,http如果您使用的是NGINX ,则应将其添加到块中:

http {
    add_header X-XSS-Protection "1; mode=block";

    ...
}
Run Code Online (Sandbox Code Playgroud)

  • 这无济于事。结果相同。 (4认同)

SBu*_*ris 1

您没有遵循 X-XSS-Protection 的正确语法,因此您收到解析错误。

我想你正在寻找这个:

X-XSS-Protection: 1; mode=block
Run Code Online (Sandbox Code Playgroud)

所以删除, 1你末尾的