-1

外部 iframe はどのようにしてサイトからリダイレクトされますか?

どうすればこれを防ぐことができますか?

「リダイレクトリクエスト」を聞いて、クリックがなかった場合にそれらを防ぐことは可能ですか?

4

4 に答える 4

1

外部 iframe はどのようにしてサイトからリダイレクトされますか?

parent.location読み取り専用ではありません

どうすればこれを防ぐことができますか?

フレーム化されたくない信頼できないサード パーティのコンテンツをフレーム化しないことによって。

于 2012-09-28T08:44:41.077 に答える
0

iFrameは、jqueryUiを使用して異なるiframe間でドロップオブジェクトをドラッグできることがわかるため、本体とウィンドウに到達できます。この場合、外部iframeはメインウィンドウに簡単に到達してwindow.location.hrefにすることができます。私は今とても忙しいですが、これはプリミティブjavascriptでうまくいくと思います。window.addEventListener('load'、function(){})またはlocationまたは他のイベントが機能する可能性がある場合、event.preventDefault()はリダイレクトを停止できます。しかし、私はまだ試していませんでした。[ハッシュチェンジを編集するか、このイベントのようにそれを行うことができると私は信じています:)]

于 2012-09-28T08:50:20.607 に答える
0

あなたはそうしない。

これは太古の昔から「フレーム バスティング」と呼ばれてきました (「ネットに関する限り」)。子フレームは、必要に応じてホスティング ウィンドウを設定できます。

あなたができる唯一のことは<iframe>、信頼できない場所ではありません。

于 2012-09-28T08:45:14.073 に答える
-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);
    });
于 2012-09-28T09:54:50.993 に答える