在旧浏览器上强制执行内容安全策略



我目前正在为我的React项目测试一些内容安全策略。当我在IIS中托管时,我正在使用web配置来添加自定义标头。

这在Chrome等浏览器中运行良好,但在IE11等旧浏览器中没有任何效果,因为它们不支持99%的CSP

如果我可以通过使用旧浏览器绕过CSP,那又有什么意义呢?还是我错过了一些执行这些规则的方法,即使是对于旧的浏览器?

CSP的目的不是保护恶意浏览器用户,而是保护恶意或有漏洞的网站。(本文提供了一些CSP旨在缓解的示例攻击。(此类攻击者无法控制给定用户使用的浏览器,因此他们无法使用旧浏览器来";"旁路";CSP保护。

"旁路CSP";并不意味着有人可以破解你的网页。这只是意味着用户使用的过时浏览器易受XSS攻击(XSS是第三方操作(。这是用户的决定,你什么都不做。此外,用户可以使用一些浏览器插件来删除CSP头,在现代浏览器中也会得到相同的结果。

然而,即使使用过时的浏览器,您也可以尽最大努力保护用户。除了CSP标头,使用X-XSS-Protection标头,IE自IE 8起就支持它。
此外,您可以发布X-Frame-Options标头以防止点击劫持,IE支持它。

但是,如果你的应用程序处理一些敏感/财务数据,也许最好的解决方案是禁止使用过时的浏览器,或者警告访问者他正在使用过时的浏览程序,并对此承担全部责任。

最新更新