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 相关文章推荐
用文本文件制作留言板提示(下)
Oct 09 PHP
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
Oct 12 PHP
php学习笔记 数组遍历实现代码
Jun 09 PHP
ajax 的post方法实例(带循环)
Jul 04 PHP
php下利用curl判断远程文件是否存在的实现代码
Oct 08 PHP
浅析51个PHP处理字符串的函数
Aug 02 PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
Aug 07 PHP
PHP保存带BOM文件的方法
Feb 12 PHP
讲解WordPress开发中一些常用的debug技巧
Dec 18 PHP
深入剖析PHP中printf()函数格式化使用
May 23 PHP
PHP调用其他文件中的类
Apr 02 PHP
Yii框架视图、视图布局、视图数据块操作示例
Oct 14 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
《PHP边学边教》(02.Apache+PHP环境配置――下篇)
2006/12/13 PHP
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
2011/08/11 PHP
php中判断文件存在是用file_exists还是is_file的整理
2012/09/12 PHP
php递归使用示例(php递归函数)
2014/02/14 PHP
ThinkPHP多语言支持与多模板支持概述
2014/08/22 PHP
IE6/7/8中Option元素未设value时Select将获取空字符串
2011/04/07 Javascript
拥抱模块化的JavaScript
2012/03/07 Javascript
jquery遍历select元素(实例讲解)
2013/12/31 Javascript
javascript 面向对象封装与继承
2014/11/27 Javascript
jQuery实现移动端滑块拖动选择数字效果
2015/12/24 Javascript
Jquery跨浏览器文本复制插件Zero Clipboard的使用方法
2016/02/28 Javascript
jQuery文件上传控件 Uploadify 详解
2016/06/20 Javascript
AngularJS使用ng-repeat和ng-if实现数据的删选显示效果示例【适用于表单数据的显示】
2016/12/13 Javascript
js实现把图片的绝对路径转为base64字符串、blob对象再上传
2016/12/29 Javascript
Vue中的字符串模板的使用
2018/05/17 Javascript
js运算符的一些特殊用法
2018/07/29 Javascript
jQuery点击页面其他部分隐藏下拉菜单功能
2018/11/27 jQuery
JS实现简单的点赞与踩功能示例
2018/12/05 Javascript
js prototype深入理解及应用实例分析
2019/11/25 Javascript
Vue Router中应用中间件的方法
2020/08/06 Javascript
javascript实现雪花飘落效果
2020/08/19 Javascript
[11:27]《一刀刀一天》之DOTA全时刻20:TI4总奖金突破920W TS赛事分析
2014/06/18 DOTA
Python写的一个定时重跑获取数据库数据
2016/12/28 Python
django 开发忘记密码通过邮箱找回功能示例
2018/04/17 Python
浅谈python脚本设置运行参数的方法
2018/12/03 Python
python的json中方法及jsonpath模块用法分析
2019/12/06 Python
keras实现VGG16方式(预测一张图片)
2020/07/07 Python
澳大利亚家具和家居用品购物网站:Zanui
2018/12/29 全球购物
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
应届专科生个人的自我评价
2014/01/05 职场文书
幸福家庭事迹材料
2014/02/03 职场文书
企业总经理岗位职责
2014/02/13 职场文书
原料仓管员岗位职责
2014/04/12 职场文书
2014五一国际劳动节活动总结范文
2014/04/14 职场文书
诚信贷款承诺书
2014/05/30 职场文书
事业单位财务人员岗位职责
2015/04/14 职场文书