X-Frame-Options 是一个 HTTP 响应头,用于指示浏览器是否允许一个页面在 < frame >、< iframe >、< embed > 或 < object > 中展示。它主要用于防止点击劫持攻击。
X-Frame-Options 有三个可能的值:DENY、SAMEORIGIN、ALLOW-FROM uri
DENY
表示该页面不允许在任何 frame 中展示,即便是在相同域名的页面中嵌套也不允许。
SAMEORIGIN
表示该页面可以在相同域名页面的 frame 中展示。
ALLOW-FROM uri
表示该页面可以在指定来源的 frame 中展示。
除了在web.xml文件中配置之外,也可以在代码中使用 response.setHeader 方法来设置 X-Frame-Options 参数,例如:
response.setHeader("X-Frame-Options", "DENY");
在响应中加入X-Frame-Options会增强一定的安全性
在网站B中要加载页面A,肯定要发请求,如果页面A的响应中X-Frame-Options=sameorigin,此时html页面就会判断出两者不同源地址,不予以显示。如果是一个恶意的网站,肯定是不同源地址,这样就可以防止攻击了。
