服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - 服务器知识 - X-Frame-Options头未设置 防止网页被iframe内框架调用

X-Frame-Options头未设置 防止网页被iframe内框架调用

2020-08-19 17:40服务器技术网 服务器知识

有时候为了防止网页被别人的网站iFrame,我们可以通过在服务器设置HTTP头部中的X-Frame-Options信息,需要的朋友可以参考下

描述: 目标服务器没有返回一个X-Frame-Options头。

X-Frame-Options HTTP响应头是用来确认是否浏览器可以在frame或iframe标签中渲染一个页面,网站可以用这个头来保证他们的内容不会被嵌入到其它网站中,以来避免点击劫持。

危害: 攻击者可以使用一个透明的、不可见的iframe,覆盖在目标网页上,然后诱使用户在该网页上进行操作,此时用户将在不知情的情况下点击透明的iframe页面。通过调整iframe页面的位置,可以诱使用户恰好点击iframe页面的一些功能性按钮上,导致被劫持。

解决方案:

修改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头未设置 防止网页被iframe内框架调用

动态页添加X-Frame-Options响应头示例代码

asp

?
1
2
3
<%
response.AddHeader "X-Frame-Options","Deny"
%>

Asp.Net

?
1
Response.AddHeader("X-Frame-Options", "Deny");

PHP

?
1
header('X-Frame-Options:Deny');

如果确认你整个网站都不能被框架,可以直接设置web服务器,增加X-Frame-Options响应头。IIS如下图所示,增加http头

X-Frame-Options头未设置 防止网页被iframe内框架调用

X-Frame-Options响应头可用值有

  1. DENY:浏览器拒绝当前页面加载任何Frame页面

  2. SAMEORIGIN:frame页面的地址只能为同源域名下的页面

  3. 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+

 

更详细的教程建议大家查看这篇文章:http://www.zzvips.com/article/95669.html

延伸 · 阅读

精彩推荐