镜像别人网站是非常讨厌的行为。其中有一种方法采用了 iframe 框架嵌套调用,那么如何阻止被iframe 调用呢?本文将分享一些方法。
方法一:js 方法。这种方法不可靠,不推荐使用
windows.location.href
: 自己的地址;
self
: 指代当前窗口对象,属于window最上层的对象;
location.href
: 指的是某window对象的URL地址;
self.location.href
: 指当前窗口的URL地址,去掉 self 默认为当前窗口的URL地址;
window.location.href
、location.href
、self.location.href
是本页面地址;
本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利
parent.location.href
: 上一层页面地址;
top.location.href
: 最外(上)层的页面地址。
<script type="text/javascript">
if(self != top) { top.location = self.location; }
</script>
或
<script type="text/javascript">
if(top.location != self.location){
top.location = self.location;
}
</script>
或
<script type="text/javascript">
if(window.top.location != window.self.location){
alert('你想表达的内容');
window.top.location = window.self.location;
}
</script>
或
<script>
if (top.frames.length!=0){
top.location=self.document.location;
}
</script>
或
<script>
(function(window){
if (window.location !== window.top.location){
window.top.location = window.location;
}
})(this);
</script>
或
<script>
this.top.location !== this.location && (this.top.location = this.location);
</script>
或
<script type="text/javascript">
var url=window.location.href;
if(window!=parent){
parent.navigate(url);
}
</script>
或
<script type="text/javascript">
if(top != self){
location.href = "about:blank";
}
</script>
或
<script type="text/javascript">
if(window!=parent){
parent.navigate(window.location.href);
}
</script>
把上面的任一 JS 代码片段放到你页面的 head 中即可。
方法二:Meta 标签方法
本文禁止全文转载。任何形式转载请联系作者(时光在路上 www.timezls.com) Copyright © 2024. All Rights Reserved
X-Frame-Options 是一个HTTP 标头(header),用来告诉浏览器这个网页是否可以放在 iFrame内。使用 X-Frame-Options 可以一定程度上保障你的网页不会被放在恶意网站设定的 iFrame内,令用户成为点击劫持的受害人。例如:
X-Frame-Options: DENY (不要把任何网页放在iFrame 内);
X-Frame-Options: SAMEORIGIN(只有当架设 iFrame的 网站与发出 X-Frame-Options 的网站相同时才能显示发出 X-Frame-Options 网页的内容);
X-Frame-Options: ALLOW-FROM https://www.timezls.com/(只能放在 https://www.timezls.com/ 网站网页架设的 iFrame 内)。
<meta http-equiv="X-Frame-Options" content="deny" />
并不是所有的浏览器都支持这个header 所以,低版本的浏览器仍然会被 iframe 成功:
IE 8+
Opera 10.50+
Safari 4+
chrome 4.1.249.1042+ (Allow-From not yet supported)
Firefox 3.6.9 (or earlier with NoScript)
而且,可能会出现:X-Frame-Options may your-url.html:1 only be set via an HTTP header sent along with a document. It may not be set inside <meta> 这样的错误信息。
本文禁止全文转载。任何形式转载请联系作者(时光在路上 www.timezls.com) Copyright © 2024. All Rights Reserved
后端程序处理方法
方法三:PHP 法
<?php header(‘X-Frame-Options:Deny'); ?>
上面这种方法,使用 CDN 静态加速后会失效。
服务器端解决方法
方法四:Apache主机
Header always append X-Frame-Options SAMEORIGIN
方法五:Nginx主机
add_header X-Frame-Options "SAMEORIGIN";
方法六:.htaccess
在网站根目录下的 .htaccess 文件中中加一句
Header append X-FRAME-OPTIONS "SAMEORIGIN"
本文禁止全文转载。任何形式转载请联系作者(时光在路上 www.timezls.com) Copyright © 2024. All Rights Reserved
方法七:IIS方法
在web.config文件中加
<system.webServer>
...
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>
</httpProtocol>
...
</system.webServer>
更多优质资源请微信扫码访问:盘姬资源网小程序
免责声明
本文仅代表作者观点,不代表本站立场,内容的真实性请自行甄别谨防上当受骗。
本站采用 CC BY-NC-SA 4.0 国际许可协议 进行许可,转载或引用本站文章应遵循相同协议。
-
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
-
本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
-
本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
-
如果有侵犯版权的资源请尽快联系站长,我们会在24h内删除有争议的资源。
站长邮箱:xm520vip@gmail.com
本文链接:https://123.775n.com/post-532.html
发表评论