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

描述: 目标服务器没有返回一个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响应头示例代码

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响应头可用值有

  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.jb51.net/article/109436.htm

(0)

相关推荐

  • iis、apache、nginx使用X-Frame-Options防止网页被Frame的解决方法

    当然也是因为被360检测到了示"X-Frame-Options头未设置",根据360的提示与百度了一些网上的一些资料整理了下,完美解决问题. 首先看下360给出的方案,但么有针对服务器的具体设置,不是每个人对服务器都很懂啊. 描述: 目标服务器没有返回一个X-Frame-Options头. X-Frame-Options HTTP响应头是用来确认是否浏览器可以在frame或iframe标签中渲染一个页面,网站可以用这个头来保证他们的内容不会被嵌入到其它网站中,以来避免点击劫持. 危害: 攻击者可

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

    描述: 目标服务器没有返回一个X-Frame-Options头. X-Frame-Options HTTP响应头是用来确认是否浏览器可以在frame或iframe标签中渲染一个页面,网站可以用这个头来保证他们的内容不会被嵌入到其它网站中,以来避免点击劫持. 危害: 攻击者可以使用一个透明的.不可见的iframe,覆盖在目标网页上,然后诱使用户在该网页上进行操作,此时用户将在不知情的情况下点击透明的iframe页面.通过调整iframe页面的位置,可以诱使用户恰好点击iframe页面的一些功能性按

  • jQuery设置指定网页元素宽度和高度的方法

    本文实例讲述了jQuery设置指定网页元素宽度和高度的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html> <html> <head> <script src="js/jquery.min.js"> </script> <script> $(document).ready(function(){ $("button").click(function(){ $("

  • IIS 7.5 使用URL Rewrite模块的简单设置实现网页跳转

    我们都知道Apache可以在配置文件里方便的设置针对网页或网站的rewrite,但是最近接手了一组IIS服务器,发现这货简单的没有配置文件可让我写,但是我却要实现网页rewrite的功能.怎么办呢,google了一下,果断的找到了内容. IIS URL Rewrite模块: 官方下载地址: http://www.iis.net/downloads/microsoft/url-rewrite 官方说明文档: http://www.iis.net/learn/extensions/url-rewri

  • 快速获取/设置iframe内对象元素的几种js实现方法

    1.IE专用(通过frames索引形象定位): document.frames[i].document.getElementById('元素的ID'); 2.IE专用(通过IFRAME名称形象定位): document.frames['iframe的name'].document.getElementById('元素的ID'); 以上方法,不仅对IFRAME适用,对FRAMESET里的FRAME也同样适用.IE虽然擅于自定标准,但不得不说它很多的设计还是比较体现人性化的.比如这个,它在同样支持下

  • js判断iframe内的网页是否滚动到底部触发事件

    之前有个需求是要判断iframe内的网页是否滚动到底部触发事件, 网上找了许多资料都是说在当前页面下的, 索性就自己研究了一下, 找到了解决方法. clientHeight:这个元素的高度,占用整个空间的高度 offsetHeight:是指元素内容的高度 scrollTop:可以理解为滚动条可以滚动的长度 以下是源代码 复制代码 代码如下: <iframe src="~/Files/3.html" id="iframepage" width="825

  • JS/jquery实现一个网页内同时调用多个倒计时的方法

    本文实例讲述了jquery/js实现一个网页内同时调用多个倒计时的方法.分享给大家供大家参考,具体如下: 最近需要网页添加多个倒计时. 查阅网络,基本上都是千遍一律的不好用. 自己按需写了个.希望对大家有用. 有用请赞一个哦! var plugJs={ stamp:0, tid:1, stampnow:'<?php echo NOW_TIME;?>',//统一开始时间戳 intervalTime:function(){ if(plugJs.stamp > 0){ var day = Ma

  • JS动态修改iframe内嵌网页地址的方法

    本文实例讲述了JS动态修改iframe内嵌网页地址的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码通过修改iframe的src属性动态修改iframe的内嵌网页 <!DOCTYPE html> <html> <head> <script> function changeSrc() { document.getElementById("myframe").src="http://google.com"; }

  • 易语言修改IE协议头留言手机版网页

    通过修改注册表,达到修改IE协议头的目的 注册路径 = "SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Post Platform\" 两个文本变量装协议头 windows = "Mozilla/4.0?(compatible;?MSIE?6.1;?Windows?XP)" android = "Mozilla/5.0 (Linux; U; Android 2.

  • spring boot 中设置默认网页的方法

    废话不多说,直接上代码,相信都能看的懂 一共两布,第一步,创建Interceptor拦截 package com.cy.example.config; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.slf4j.Logger; import org.slf4j.

  • file模式访问网页时iframe高度自适应解决方案

    最近做到iframe的高度自适应这个问题,网上一搜好多解决方案,而总结起来也就那几种,我逐一尝试这些方案,最后发现在我的项目中都不起作用,后来发现自己做的网页是通过file方式访问的,将网页代码放到apache下通过http协议访问,在iframe加载的时候调用如下js方法: 复制代码 代码如下: <SPANstyle="FONT-FAMILY:KaiTi_GB2312;FONT-SIZE:18px">functionSetWinHeight(obj) { varwin=o

随机推荐