宏博网络 | 专注互联网品牌一站式服务

Thank you for visiting

029-81773686

全网开发&整合营销服务商

CopyRight
©HOOBOO All rights reserved

全网开发&整合营销服务商

029-81773686

西安网络公司,小宏教您防止网站被iframe内框架调用的方法?

2020.08.05

西安网络公司,小宏有人反馈了一个在iframe内无法调用网站同一个站点的页面问题并报错,就在网站查了一些相关的资料,整理一下关于禁止网站所有页面或某一个页面被iframe内框架调用的方法。网站iframe内框架调用页面报错如下:


Refused to display http://xxxxxx.com in a frame because it set 'X-Frame-Options' to 'deny'.

复制

通过查到的资料可得知,此错误与iframe框架被调用页面的 HTTP 标头中 X-Frame-Options 设置有关,所以整理了如下资料


X-Frame-Options 介绍

X-Frame-Options是一个HTTP响应头,用来告诉浏览器此页面是否可以在其它网页中的frame或iframe标签中被渲染,网站可以利用此响应头来避免被其它网站所劫持。


X-Frame-Options有三个参数值,分别如下


DENY:表示不能被嵌入到任何iframe或frame中。


SAMEORIGIN:表示页面只能被本站页面嵌入到iframe或者frame中。


url,指定是一个域名,表示此网页只能被指定域名下的页面中的框架所调用


X-Frame-Options 使用如下

html代码


以下代码,添加到HTML页面中的head标签内即可


代码1:html页面禁止被框架调用


<meta http-equiv="X-Frame-Options" content="deny">

复制

代码2:只允许页面被本站调用


<meta http-equiv="X-Frame-Options" content="SAMEORIGIN">

复制

代码3:只允许页面被指定URL嵌套调用


<meta http-equiv="X-Frame-Options" content="http://www.hooboo.cn">

复制

经过测试,使用以上代码个别浏览器会抛出如下错误提示,使用时请慎重


 X-Frame-Options may only be set via an HTTP header sent along with a document. It may not be set inside <meta>.

复制

PHP代码


<?php

//示例1

header('X-Frame-Options: deny');

//示例2

header('X-Frame-Options: SAMEORIGIN');

//示例3

header('X-Frame-Options: http://www.hooboo.cn');

?>

复制

PS:网站被iframe内框架调用的危害性

攻击者可以使用一个透明的、不可见的iframe标签,加载目标页面,然后通过调整iframe页面的位置,诱导用户进行点击操作页面的功能区,并劫持用户的数据,达到劫持页面的目的。


上一篇:手机版底部固定导航被输入法顶起遮盖页面内容的解决办法?

下一篇:西安网络公司,小宏教您在开发API时是如何设计签名验证的?

CopyRight © 西安宏博网络科技有限公司   备案号:陕ICP备10007014号-8   站点地图 免责声明:本网站部分资源来源于网络,如有侵权,请联系我们告知删除,我们将会尽快处理,谢谢!本站不承担任何法律责任。