2016-12-02 9 views
0

を埋め込み、私はこれはJSます無効のiframe 私のウェブサイトから他のウェブサイトに、私はIFRAME埋め込むページを無効にする他のウェブサイトのための

<script type="text/javascript"> if(document.referrer.indexOf("mydomain.com") != -1) { window.location = "http://www.youtube.com/watch_popup?v=oHg5SJYRHA0"; } </script>

スクリプトは動作しますが、私はpage01.phpとpage02を持っています私はpage02.php

<iframe src="page02.php"></iframe> 
ためpage01.phpソースコードの挿入はiframeにしたい

.PHPこれを解決する方法

http://www.youtube.com/watch_popup?v=oHg5SJYRHA0 

私はこの私を行い、へのリダイレクトを得ましたか。 ありがとう

+0

'window.location =" "'で宛先文字列を変更しますか?とにかく私はそれをサーバー側でコード化します –

答えて

1

X-Frame-Optionsヘッダーを使用することをお勧めします。あなたはnginxのを使用している場合は、サーバや場所のブロックにこの行を追加することができます。

add_header X-Frame-Options "SAMEORIGIN"; 

あなたはこのヘッダーを追加すると、誰かがフレーム内にページをロードしようとすると、現代のブラウザは要求を拒否します。これは古いブラウザでは機能しないことに注意してください。

+0

これは良い考えですが、このコードをどこに追加するのですか? 私のpage02.phpまたはサイトindex.phpに?または、htaccessファイルにありますか?私にいくつかの例を教えてもらえますか?ありがとう – Aleksandar

+0

このスニペットは、nginxサーバー構成ファイルに入ります。あなたはApacheを使用しているようです。あなたの.htaccessファイルに 'Header add X-Frame-Options" SAMEORIGIN "'を追加してみてください –

+0

実際には

0

保護機能をブラウザに残したくない場合でも、JSを使用できます。

//Check if the page is loaded in an iframe 
if(window.self != window.top) { 
    //Almost all browsers will deny Cross-Origin script access, so 
    //we will use a try-catch block 
    try { 
    if(window.parent.location.hostname.indexOf("mydomain.com") == -1) { 
     window.location.href = "http://www.youtube.com/watch_popup?v=oHg5SJYRHA0"; 
    } else { 
     //You are in an iframe but Same-Origin 
    } 
    } catch (ex) { 
    //Congrats, you are in an iframe loaded in a stranger's site! 
    window.location.href = "http://www.youtube.com/watch_popup?v=oHg5SJYRHA0"; 
    } 
} 
+0

答えはありがたいですが、このコードでは同じ変更がありません。 – Aleksandar

0

WordPressのウェブサイトでは、以下のコードをwp-config.phpにドロップするだけで、そのジョブが実行されます。

header('X-Frame-Options: DENY); 
関連する問題