禁止网站被iframe嵌套的解决方法,防止别人镜像自己的网站!
首页>>技术教程>>正文
本篇文章更新于 2021-12-25 22:16:51
本篇文章更新于 2021-12-25

运营的另一个网站曾经被利用iframe过,被做成了镜像站,更可恶的是搜索引擎竟然收录了他们的页面,而且排名还不错,虽然后来利用JS对域名判断解决了这种问题,文章「网站被镜像的解决办法及预防措施!」,但是总感觉针对iframe会更有效。

今天看到一篇文章,利用JavaScript、防止网页被iframe嵌套的办法,那么就记录一下流程啦

禁止网站被iframe嵌套的解决方法,防止别人镜像自己的网站!

一、服务器配置

nginx

在配置文件的 http 、server 或者 location 中加入如下代码,来防止被嵌套。

add_header X-Frame-Options "SAMEORIGIN";

Apache 

在 Apache 的配置文件的 site 中添加如下配置

Header always append X-Frame-Options SAMEORIGIN

htaccess

将如下代码加入网站根目录的 .htaccess 文件中,效果相同。

Header append X-FRAME-OPTIONS "SAMEORIGIN"

IIS

将网站根目录的web.config配置文件做如下修改,来禁止网站被嵌套。

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

二、meta 标签

X-Frame-Options HTTP响应头是用来确认是否浏览器可以在frame或iframe标签中渲染一个页面,网站可以用这个头来保证他们的内容不会被嵌入到其它网站中,以来避免点击劫持。

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

以 PHP 为例,在文件中添加下面的代码即可。

<?php header(‘X-Frame-Options:Deny'); ?>

DENY:表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。

SAMEORIGIN:表示该页面可以在相同域名页面的 frame 中展示。

ALLOW-FROM uri:表示该页面可以在指定来源的 frame 中展示。

总结

当然也有通过JS判断的,不过很容易被绕过去,推荐使用方案1吧,通过服务器配置更合理,meta标签也可以,具体效果如何,目前还无法测试,记录一下,以备不时之需。

历史上的今天

很遗憾~,历史上的今天未发表过文章
技术教程

我的常用WordPress插件和小技巧

2021-12-23 19:32:42

技术教程

如何防止网站被镜像、被iframe?

2021-12-25 22:22:28

重要说明

本站资源大多来自网络,如有侵犯你的权益请联系管理员或给邮箱发送邮件zhouqiuqiu123@foxmail.com 我们会第一时间进行审核删除。站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!


如果遇到评论下载的文章,评论后刷新页面点击对应的蓝字按钮即可跳转到下载页面本站资源少部分采用7z压缩,为防止有人压缩软件不支持7z格式,7z解压,建议下载7-zip(点击下载),zip、rar解压,建议下载WinRAR(点击下载)

敏而好学,不耻下问。——孔子