首页 > 代码库 > JAVA年度安全 第九周 X-FRAME-OPTIONS
JAVA年度安全 第九周 X-FRAME-OPTIONS
What is it and why should I care?
X-Frame-Options(在草拟的标准中已经移除X-,只保留Frame-Options)是一个新技术用来指定网站页面是否允许嵌入IFrame页面。这样能够解决点击劫持(clickjacking)攻击。
此技术是基于每个页面的HTTP响应头特定参数实现的。支持(X-)Frame-Options头参数的浏览器根据标准会允许或禁用当前页面上的IFrame页面。
What shouldI do about it?
此方法同样也是一个低风险、同时能增加更多安全措施的方案。在某些情况下此方案会被限制不起作用,但是不会影响其他安全措施,这种方案只是一个附加的保护机制。
在页面上可以指定3中不同的IFrame页面嵌入规则。
方案1:DENY
此规则表示页面不能被嵌入页面,即使被嵌入的页面地址是同源的。如下是简单的代码片段:
HttpServletResponse response …;
response.addHeader(“X-Frame-OPTIONS”, “DENY”);
方案2:SAMEORIGIN
表示只允许嵌入同源的页面,代码如下:
HttpServletResponse response …;
response.addHeader(“X-Frame-OPTIONS”, “SAMEORIGIN”);
方案3:Allow-From
当前可以被嵌入指定域名的页面,例如:
HttpServletResponse response …;
Response.addHeader(“X-Frame-OPTIONS”, “Allow-Fromhttps://some.othersite.com”);
更多的帮助说明可以参考owasp的X-Frame-Options示例:J2EE filter https://www.owasp.org/index.php/ClickjackFilter_For_Java_EE#Source_Code
(X-)Frame-Options以极低的代价来保护你的用户,为网站添加一层保护措施来阻止点击劫持clickjacking。
Reference
———–
https://developer.mozilla.org/en/The_X-FRAME-OPTIONS_response_header
https://www.owasp.org/index.php/Clickjacking#Defending_with_response_headers
http://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combating-clickjacking-with-x-frameoptions.
aspx
http://blog.mozilla.com/security/2010/09/08/x-frame-options/
http://lcamtuf.blogspot.com/2011/12/x-frame-options-or-solving-wrong.html
http://www.jtmelton.com/2012/02/03/year-of-security-for-java-week-5-clickjacking-prevention/
http://tools.ietf.org/html/draft-gondrom-frame-options