当前位置:首页 > PHP教程 > php应用 > 列表

PHP、Nginx、Apache中禁止网页被iframe引用的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-02-09 12:13:31 浏览: 评论:0 

这篇文章主要介绍了PHP、Nginx、Apache中禁止网页被iframe引用的方法,使用X-Frame-Options实现,需要的朋友可以参考下。

可以使用php或nginx等添加X-Frame-Options header来控制frame权限

X-Frame-Options有三个可选的值:

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

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

ALLOW-FROM:允许frame加载的页面地址

PHP代码:

header(‘X-Frame-Options:Deny');

Nginx配置:

add_header X-Frame-Options SAMEORIGIN

可以加在locaion中

  1. location / 
  2.   add_header X-Frame-Options SAMEORIGIN 

Apache配置:

Header always append X-Frame-Options SAMEORIGIN

使用后不充许frame的页面会显示一个白板。

IIS方法

在web.config文件中加

  1. <system.webServer> 
  2.   ... 
  3.   <httpProtocol> 
  4.   <customHeaders> 
  5.   <add name="X-Frame-Options" value="SAMEORIGIN" /> 
  6.   </customHeaders> 
  7.   </httpProtocol> 
  8.   ... 
  9. </system.webServer> 

js方法

很多都是用这种方放,服务器端设置有时候有问题

  1. if (self.frameElement && self.frameElement.tagName == "IFRAME") { 
  2.   top.location.href=self.location.href; 
  3. if (window.frames.length != parent.frames.length) { 
  4.   top.location.href=self.location.href; 
  5. if (self != top) {  
  6.   top.location.href=self.location.href; 

Meta标签方法

<meta http-equiv="X-FRAME-OPTIONS" content="DENY">

css禁止其他人的iframe,允许自己的

  1. <style type="text/css"
  2. iframe{v:expression (this.src='about:blank',this.outerHTML='');} 
  3. #mine{v:expression() !important} 
  4. </style> 
  5. <body> 内容:<iframe src="http://www.baidu.com"></iframe> 百度 <iframe src="http://www.126.com/"></iframe>  126邮箱<iframe src="http://www.163.com"></iframe> 网易<p>以上三个firame不允许</p> <p>firame google 是我要的.</p> <p><iframe id="mine" name="myfirame" src="http://www.google.com/" width=800 height=400></iframe></p> 

参考:https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options?redirectlocale=en-US&redirectslug=The_X-FRAME-OPTIONS_response_header

Tags: PHP Nginx Apache iframe

分享到: