设置了X-XSS-Protection头还是被Chrome提示XSS防护已禁用?
最近在配置安全头的时候发现了个怪事,明明在Express里设置了X-XSS-Protection: 1; mode=block,但Chrome控制台还是弹出“XSS 防护已禁用”的警告,这是怎么回事啊?
之前尝试过把值改成”0″再改回来,也试过直接用Nginx配置:
add_header X-XSS-Protection "1; mode=block" always;
但不管怎么调整,访问页面时控制台都显示这条警告。用开发者工具检查响应头发现确实携带了正确的头信息,但浏览器就是不认账,有没有大佬遇到过类似情况?
现在的最佳实践是使用Content Security Policy(CSP)来防护XSS攻击。建议你把精力放在配置CSP上,比如在Express里可以这样设置:
这里给了个基础的CSP配置,你可以根据实际需求调整策略。至于X-XSS-Protection头,现在确实没必要再用了,移除它反而能让响应头更简洁。
说实话,浏览器安全机制更新还挺频繁的,咱们也得与时俱进。记得检查下其他安全头的配置,可能也有类似的情况需要更新。