2017-09-04 11 views
-2

ウェブアプリケーションがあります。特定のiframe(企業サイト)のみで利用できるようにするため、招待されていないゲストはスクリプトによってクライアントのWebサイトにリダイレクトされます。 以下のコードは動作していますが、ブラウザでjavaを無効にすることができます。 IPホワイトリストは素晴らしい解決策になりますが、あまりにも多くの動的IPが使用されます。サイトがiframeで開かれ、リダイレクトされたことを検出しました

iframeで開かれたサイトは、どのようなPHPトリックを使用して確認できますか?

<script> 
       if (top === self) window.location.replace('http://uninvited-guests-go.here'); 
</script> 
<?php header('X-Frame-Options: ALLOW-FROM https://iframe.allow.only'); ?> 
+0

重複していません。この質問者は、純粋にPHPでそれを行う方法を尋ねていますが、リンクされていると思われる複製はJavascriptソリューションを探しています(受け取っています)。 –

答えて

0

、PHPは、ブラウザで何が起こっているかを知る方法がありませんが、あなたが指摘してきたように、あなたは純粋なPHPソリューションを使用して設定されている場合は、Javascriptをdependably window.top === window.self; でのiframeの存在を決定することができますURLにGETというパラメータを送信して、招待されたゲストと来ていないゲストをPHPに伝えることができます。

<?php 
// yousite.com <-- uninvited user 
// yoursite.com?invited=1 <-- invited user 

if (isset($_GET['invited']) && $_GET['invited'] === 1) { 
    // handle your invited guests here 
} 

また、GET paramをiFrameソースに追加する必要があります。

関連する問題