明辉站/网站教程/内容

如何避开页面被人嵌套在 iframe 里?

网站教程2024-05-10 阅读
[摘要]如题,我的网站内容被别人用 iframe 嵌套在自己的网站里了,有没有办法屏蔽不让他嵌套呢?还有个比较好的办法:在响应头里加一个X-Frame-Options取值有三种,大部分浏览器都支持:DENY:浏览器拒绝当前页面加载任何Frame页面SAMEORIGIN:frame页面的地址只能为同源域名下...
如题,我的网站内容被别人用 iframe 嵌套在自己的网站里了,有没有办法屏蔽不让他嵌套呢?

还有个比较好的办法:

在响应头里加一个X-Frame-Options

取值有三种,大部分浏览器都支持:

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

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

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

这样被不同源的页面以iframe包含时就不会显示了

写脚本

if (window != window.top) 
{    
window.top.location.replace(window.location)    
// 这是直接代替外窗,你也可以干别的
}
if (window != window.top) 
{
window.top.location.replace(window.location)
//加弹窗代码 干死他们 还赚钱
}

新浪微博是这么做的

if (top != self) 
{    
top.location = self.location;
}

基本可以抵挡大多数iframe嵌套了。

还有看一下人家是怎么利用iframe嵌套实施攻击的,就知道怎么防御了

目前最好的js的防御方案为:

if (self == top) {
    var theBody = document.getElementsByTagName('body')[0];
    theBody.style.display = "block";
} else {
    top.location = self.location;
}

添加过滤脚本。原理是当检测到当前的url链接不是自己的时候,让src指向空白地址。具体代码请google。

以上就是 如何避免网页被人嵌套在 iframe 里?的详细内容,更多请关注php中文网其它相关文章!


网站建设是一个广义的术语,涵盖了许多不同的技能和学科中所使用的生产和维护的网站。

……

相关阅读