X-Frame-Options头未设置 防止网页被iframe内框架调用
投稿:mdxy-dxy
有时候为了防止网页被别人的网站iFrame,我们可以通过在服务器设置HTTP头部中的X-Frame-Options信息,需要的朋友可以参考下
描述: 目标服务器没有返回一个X-Frame-Options头。
解决方案:
修改web服务器配置,添加X-frame-options响应头。赋值有如下三种:
(1)DENY:不能被嵌入到任何iframe或frame中。
(2)SAMEORIGIN:页面只能被本站页面嵌入到iframe或者frame中。
(3)ALLOW-FROM uri:只能被嵌入到指定域名的框架中。
也可在代码中加入,在PHP中加入:
header('X-Frame-Options: deny');
防止某些重要网页被其他网站框架导入,可以给页面增加X-Frame-Options响应头,这样浏览器会依据X-Frame-Options的值来控制iframe框架的页面是否允许加载显示出来,IE下的效果如下(此内容无法再框架中显示。为了帮助保护在此网站中输入的信息安全,此内容的发行者不允许在框架中显示该信息),其他非IE核心浏览器会显示空白内容。
动态页添加X-Frame-Options响应头示例代码
asp
<% response.AddHeader "X-Frame-Options","Deny" %>
Asp.Net
Response.AddHeader("X-Frame-Options", "Deny");
PHP
header('X-Frame-Options:Deny');
如果确认你整个网站都不能被框架,可以直接设置web服务器,增加X-Frame-Options响应头。IIS如下图所示,增加http头
X-Frame-Options响应头可用值有
- DENY:浏览器拒绝当前页面加载任何Frame页面
- SAMEORIGIN:frame页面的地址只能为同源域名下的页面
- ALLOW-FROM:origin为允许frame加载的页面地址
浏览器对X-Frame-Options响应头的支持如下
浏览器 | 版本支持 |
---|---|
IE | 8.0+ |
Firefox | 3.6.9+ |
Opera | 10.50+ |
Safari | 4.0+ |
Chrome | 4.1.249.1024+ |
更详细的教程建议大家查看这篇文章://www.jb51.net/article/109436.htm