外部Iframe以某种方式重定向到我的网站,我该如何防止这种情况?

时间:2012-09-28 08:42:41

标签: javascript jquery

外部iframe如何设法重定向到您的网站?

如何防止这种情况?

是否可以收听“重定向请求”并在没有点击时阻止它们?

4 个答案:

答案 0 :(得分:1)

  

外部iframe如何设法重定向到您的网站?

parent.location不是只读

  

如何防止这种情况?

通过不构建不想被诬陷的不受信任的第三方内容。

答案 1 :(得分:0)

你没有。

自古以来就被称为“框架破坏”(好吧,就“网络而言”而言)。 子框架可以按照自己的意愿设置托管窗口。

您唯一能做的就是不信任<iframe>个地点。

答案 2 :(得分:0)

IFrame可以到达主体和窗口,因为我们可以看到它可以使用jqueryUi在不同的iframe之间拖放对象,在这种情况下外部iframe可以很容易 到达主窗口并使其成为window.location.href。我现在很忙,但是 我认为这将适用于原始的javascript。    window.addEventListener( '负载',函数(){}) 或者位置或其他事件可能有效,然后event.preventDefault()可以停止重定向。不过我还没试过。 [编辑hashchange或喜欢这个事件可以做到我相信:)]

答案 3 :(得分:-1)

我就这样做了:

// Listen for unloads
var prevent_bust = 0  
window.onbeforeunload = function() { prevent_bust++ }  
setInterval(function() {  
  if (prevent_bust > 0) {  
    prevent_bust -= 2
    var currentTime = new Date();
    if((currentTime.getTime()-lastClick) > 500) { // If no clicks in the last .5 second don't redirect
        window.top.location = 'http://justwalk.it/stuff/204/foo'
        }
  }  
}, 1)

// Listen for clicks, save time of latest one
var currentTime = new Date().getTime(), lastClick ;
$("body").click(function () {
    var currentTime = new Date();
    lastClick = currentTime.getTime();
    console.log('click time:'+lastClick);
    });