Javascript 防止XSS攻击的反散播或内容安全策略或两者
最近我研究了很多与XSS攻击相关的内容。我正在寻找XSS攻击的预防技术 我偶然发现了一个由OWASP推荐的名为Antisamy的图书馆。AntiSamy是一个针对Java的HTML、CSS和JavaScript过滤器,它根据策略文件清理用户输入。AntiSamy不是HTML、CSS和JavaScript验证程序。这只是确保HTML、CSS和JavaScript输入严格遵循策略文件定义的规则的一种方法 我还读过一个叫做内容安全策略(CSP)的HTTP响应头。它允许您创建受信任内容源的白名单,并指示浏览器仅执行或呈现来自这些源的资源 那么,我应该只使用Antisamy或CSP,还是同时使用两者都是有益的呢Javascript 防止XSS攻击的反散播或内容安全策略或两者,javascript,security,xss,content-security-policy,antisamy,Javascript,Security,Xss,Content Security Policy,Antisamy,最近我研究了很多与XSS攻击相关的内容。我正在寻找XSS攻击的预防技术 我偶然发现了一个由OWASP推荐的名为Antisamy的图书馆。AntiSamy是一个针对Java的HTML、CSS和JavaScript过滤器,它根据策略文件清理用户输入。AntiSamy不是HTML、CSS和JavaScript验证程序。这只是确保HTML、CSS和JavaScript输入严格遵循策略文件定义的规则的一种方法 我还读过一个叫做内容安全策略(CSP)的HTTP响应头。它允许您创建受信任内容源的白名单,并指示
提前谢谢。说到安全问题,只要你有时间,答案总是“两个/全部/一切” 它们各自都是有益的 我认为CSP从长远来看更有益,但我有很大的偏见 基于完全有效的注释进行编辑 CSP不受所有用户代理的支持,而anti-sammy则与用户代理无关 随着XSS攻击变得越来越聪明,过去有,将来也可能有(看看这个)
最好同时使用这两种方法。对于不支持CSP的浏览器,反垃圾邮件将非常有效。CSP将对当前和未来都有效。如果您希望获得最大的安全性,并且有时间,我建议将两者都实施。深度防御。请记住,CSP是HTML5的一部分,它还没有作为一个官方规范存在。即使在它存在之后,据推测在2014年底,仍会有浏览器版本不支持CSP标志。利用链接中断。请更新。