我看过并尝试过,但是看不到我能阻止某些人通过IFrame或Thickbox浏览我的网站?
我想阻止被禁止的成员通过代理网站访问网站,让最终用户能够浏览IFrame。我知道没有什么可以完全证明,但仍然值得这个问题。
答案 0 :(得分:15)
查看SO自己的Jeff Atwood对此问题的评论......
Coding Horror - We Done Been ... Framed!
归结为没有可靠的方法来做到这一点。您可以尝试使用帧突破,但恶意编码器将始终能够添加更多代码并绕过您可能添加的任何“保护”。
答案 1 :(得分:8)
啊,但这里是response到Jeff Atwoods blog post。 (反抗框架突破)可能。
Go figure, it was a question on Stackoverflow as well.发自猜谁?答案类似于我发布的链接:
if(top != self) {
top.onbeforeunload = function() {};
top.location.replace(self.location.href);
}
答案 2 :(得分:1)
altCognito是对的,你想破坏一个框架突破。
以下是the post altCognito发送给您的源代码。
<script type="text/javascript">
if (top.location != self.location)
top.location = self.location;
</script>
但是,我想你甚至可能想进一步研究它。您可能希望进行一系列检查,不仅要查找 top ,还要查找父和窗口。
<script type="text/javascript">
var self = self.location;
var top = top.location;
var parent = parent.location;
var window = window.location;
if (top != self || parent != self || window != self )
window = self;
</script>
答案 3 :(得分:0)
<script>
var isInIframe = (window.location != window.parent.location) ? true : false;
if(isInIframe)
{
alert("Window is in iframe");
//Do what you want
//top.location.href=self.location;
}
else
{
alert("Window is not in iframe");
}
</script>
答案 4 :(得分:0)
您可以在头文件中尝试这个简单的js
if (window.top !== window.self) window.top.location.replace(window.self.location.href);