您的位置:首页 > 运维架构 > Nginx

Nginx添加header防止网页被iframe

2015-10-16 17:28 555 查看

页面给很多可恶的人调用己经不是什么怪事了,我们网站经常被人直接利用iframe调用了,后来找了一些方法防止页面给调用了,下面来看看吧。

下面主要说说几种防止被CrossFrame的方法:

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

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

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

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

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

1、php防止方法

代码如下复制代码
header('X-Frame-Options:Deny');
2、Nginx防止方法
代码如下复制代码
add_header X-Frame-Options SAMEORIGIN
可以加在locaion中
代码如下复制代码
location /

{

add_header X-Frame-Options SAMEORIGIN;

}
3、Apahe 防止方法

Header always append X-Frame-Options SAMEORIGIN

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

补充

我写了一段很简单的javascript代码,大家只要将它放入网页源码的头部,那些流氓就没有办法使用你的网页了。
代码如下复制代码
<script type="text/javascript">

if (window!=top) // 判断当前的window对象是否是top对象

top.location.href =window.location.href; // 如果不是,将top对象的网址自动导向被嵌入网页的网址

</script>
升级一下彻底防止别人用iframe框架嵌套调用自己的网页,如下方法是最可靠的.

这里赋值为空页面,也可赋值为你的页面的url地址.
代码如下复制代码
<script language="javascript">

if(top != self){

location.href = "about:blank";

}

</script>

javascript防止网页被别人iframe框架

</head>

<body>

</body>

</html>
上面代码只能防止最简单的,如果对方使用的是利用php curl抓取呢?这样我们需要封对方IP才可以,最常用的就是在于apache或防火墙中把对方IP设置为黑名单了,这样就抓取不了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: