我想在我的应用程序中启用Spring Security XSS保护。
1)阅读文档和博客时,https://spring.io/blog/2013/08/23/spring-security-3-2-0-rc1-highlights-security-headers/表示默认情况下存在XSS
2)而http://docs.spring.io/spring-security/site/docs/current/reference/html/headers.html表示默认情况下它不存在
3)如果我在扩展WebSecurityConfigurerAdapter
的类中的configure方法中使用http.headers().xssProtection()
:这是否禁用了所有其他默认头?
2条答案
按热度按时间carvr3hs1#
除非您特别包含以下代码以禁用默认值,否则不会禁用默认值。
第1点和第2点,我的理解是博客和文档都有相同的信息。
过滤(过滤XSS攻击)通常在默认情况下启用,因此添加标头通常只是确保它被启用,并指示浏览器在检测到XSS攻击时该做什么。
jljoyd4f2#
根据Spring Security documentation,当使用EnableWebSecurity的默认构造函数时,默认情况下会激活安全HTTP头。默认标题包括:
X-XSS-Protection
头在这里。然而,它被禁用了,因为现代浏览器已经不推荐使用该头,因为它的使用可能会在客户端引入额外的安全问题。OWASP建议不要设置此头或显式地关闭它:https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Headers_Cheat_Sheet.html#x-xss-protection