如何防止我的网页被嵌套在iframe中?

3

嗯?你能否请重新表述一下? - falstro
如果我在 iframe 内调用我的网页,它会运行…… 我想阻止这种情况发生…… 您能帮助我吗? - user389055
如果您可以访问.htaccess,您可以将其设置为添加X-Frame-Options:Deny标头。基于Javascript的解决方案可以通过向iframe标记添加沙箱属性来规避,从而阻止JS。真正的问题是那些提供链接的公司,这些链接指向代理服务器,该服务器获取页面,剥离其中的反嵌入度量,并将结果传递给浏览器。我能想到的唯一解决方案是使用防火墙阻止这些代理访问您的网站,这归结为打地鼠游戏。 - Uri Raz
2个回答

13

另一种解决方案:

if (window.top !== window.self) window.top.location.replace(window.self.location.href);

请将以下关于编程的内容从英语翻译成中文。仅返回已翻译的文本:为简洁起见,仅使用内置函数 - cEz

4

使用Javascript:

if(window.top==window){
    // not in iframe/frame
} else {
    if(parent.parent.someFunction){
       parent.parent.someFunction();
    } else {
       alert("parent.parent.someFunction() not defined.")
    }
}

点赞。虽然我会在else语句中重定向到实际网页,而不是向最终用户抛出一个看起来可怕的警报消息,因为他们可能不理解发生了什么。 - Martin Bean
@Martin:当然,这只是一个例子。他可以在语句中做任何事情。 - fabrik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接