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


Posted in PHP onOctober 01, 2020

可以使用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中

location /
{
  add_header X-Frame-Options SAMEORIGIN
}

Apache配置:

Header always append X-Frame-Options SAMEORIGIN

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

IIS方法

在web.config文件中加

<system.webServer>
  ...
  <httpProtocol>
  <customHeaders>
  <add name="X-Frame-Options" value="SAMEORIGIN" />
  </customHeaders>
  </httpProtocol>
  ...
</system.webServer>

js方法

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

if (self.frameElement && self.frameElement.tagName == "IFRAME") {
  top.location.href=self.location.href;
}
if (window.frames.length != parent.frames.length) {
  top.location.href=self.location.href;
}
if (self != top) { 
  top.location.href=self.location.href;
}

Meta标签方法

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

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

<style type="text/css">
iframe{v:expression (this.src='about:blank',this.outerHTML='');}
#mine{v:expression() !important}
</style>
<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

PHP 相关文章推荐
PHP实现网上点歌(二)
Oct 09 PHP
解析php中获取url与物理路径的总结
Jun 21 PHP
javascript+php实现根据用户时区显示当地时间的方法
Mar 11 PHP
PHP连接MySQL数据的操作要点
Mar 20 PHP
php自定义urlencode,urldecode函数实例
Mar 24 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
Mar 17 PHP
php仿微信红包分配算法的实现方法
May 13 PHP
php入门教程之Zend Studio设置与开发实例
Sep 09 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
Dec 15 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
Mar 06 PHP
利用PHPExcel读取Excel的数据和导出数据到Excel
May 12 PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 PHP
PHP遍历目录并返回统计目录大小
Jun 09 #PHP
php中替换字符串中的空格为逗号','的方法
Jun 09 #PHP
使用php批量删除数据库下所有前缀为prefix_的表
Jun 09 #PHP
PHP OPP机制和模式简介(抽象类、接口和契约式编程)
Jun 09 #PHP
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
Jun 09 #PHP
神盾加密解密教程(三)PHP 神盾解密工具
Jun 08 #PHP
神盾加密解密教程(二)PHP 神盾解密
Jun 08 #PHP
You might like
php2html php生成静态页函数
2008/12/08 PHP
PHP提取字符串中的图片地址[正则表达式]
2011/11/12 PHP
解析php多线程下载远程多个文件
2013/06/25 PHP
简单谈谈 php 文件锁
2017/02/19 PHP
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
用javascript实现给出的盒子的序列是否可连为一矩型
2007/08/30 Javascript
ie7+背景透明文字不透明超级简单的实现方法
2014/01/17 Javascript
ListBox实现上移,下移,左移,右移的简单实例
2014/02/13 Javascript
两个多选select(multiple左右)添加、删除选项和取值实例
2014/05/12 Javascript
Javascript小技巧之生成html元素
2014/05/15 Javascript
JQuery 控制内容长度超出规定长度显示省略号
2014/05/23 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
javascript实现网页背景烟花效果的方法
2015/08/06 Javascript
深入分析jsonp协议原理
2015/09/26 Javascript
JavaScript+CSS无限极分类效果完整实现方法
2015/12/22 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
jQuery中hover与mouseover和mouseout的区别分析
2015/12/24 Javascript
BootStrap创建响应式导航条实例代码
2016/05/31 Javascript
浅析JavaScript中作用域和作用域链
2016/12/06 Javascript
JavaScript中利用for循环遍历数组
2017/01/15 Javascript
vue基于mint-ui的城市选择3级联动的示例
2017/10/25 Javascript
webpack公共组件引用路径简化小技巧
2018/06/15 Javascript
vue-cli初始化项目中使用less的方法
2018/08/09 Javascript
jQuery 添加元素和删除元素的方法
2020/07/15 jQuery
在python3.5中使用OpenCV的实例讲解
2018/04/02 Python
PyQt5每天必学之关闭窗口
2018/04/19 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
Python3实现计算两个数组的交集算法示例
2019/04/03 Python
在pytorch中为Module和Tensor指定GPU的例子
2019/08/19 Python
python爬虫 requests-html的使用
2020/11/30 Python
美国知名生活购物网站:Goop
2017/11/03 全球购物
一篇.NET面试题
2014/09/29 面试题
大学生怎样写好自荐信
2014/02/25 职场文书
小学生评语集锦
2014/04/18 职场文书
导游词之湖北武当山
2019/09/23 职场文书
Java常用函数式接口总结
2021/06/29 Java/Android