Spring Security的response header

24 1月

Spring Security会默认配置若干个相关的HeaderWriter,比如HstsHeaderWriter、XXssProtectionHeaderWriter等。

默认情况下响应的头部类似这样

这其中有五个HeaderWrite,撇开第一个Cache Control不谈,因为主要是涉及旧版本迁移,剩下了四个。

Content Type Options

这个选项是由于浏览器对于资源会去“猜”。如果返回的资源没有指明类型,那么浏览器就会自己去判断。自动去判断内容是危险,可以构造出XSS攻击。

当然开启这一特性那么就必须在返回的资源中指明类型,不然会出现无法正确解析的情况。

HTTP Strict Transport Security

一些网站自身就可以同时通过http和https访问,而有些只允许https访问,设置对应的头

这种情况下即便中间人可以连接并重定向到http中,浏览器仍然会将网站视为“HSTS host”,以防止中间人攻击。

X-Frame-Options

这个特性是为了对抗点击劫持。在响应头中包含

就会禁止在frame中的渲染。

X-XSS-Protection

这个特性只是在某些浏览器生效,它们内建了XSS攻击过滤机制。

虽然初衷是好的,但是这个特性有时候会反过来被利用

 

默认情况下是不需要移除或者修改这几个header writer的,当然如果你确认其中的某个特性会对应用造成伤害,你可以用过http节点下的header配置来开关或者控制。

 

参考资料

https://msdn.microsoft.com/en-us/library/gg622941(v=vs.85).aspx

http://tools.ietf.org/html/rfc6797

 

发表评论

电子邮件地址不会被公开。