1

重複の可能性:
IP AND リファラーに基づく PHP リダイレクト

別の場所からサイトにアクセスした場合にユーザーをリダイレクトすることは可能ですか?私がやりたいのは、ユーザーが Google からサイトにアクセスすると、メイン サイトにリダイレクトされますが、そのリンクから Web サイトにアクセスした場合「メイン サイト」から来た場合、制限されたサイトを含むポップアップ ウィンドウが表示されますが、ユーザーは「メイン サイト」から来たので、アクセスが許可されます。

ユーザーがメインサイトから来たかどうかを確認する限り、任意のphpまたはjavascriptで実行できます。

または可能であれば、アクセスを許可するためにユーザーがどの「IP」から来たかを確認しますか?

4

2 に答える 2

0

ユーザーのリダイレクトは、header() メソッドを使用して、新しいターゲットの "Location: " ヘッダーを設定することで実行できます。条件は、クライアントから送信されたリファラー ヘッダーを評価することで表現できます。これは、PHP システム変数の 1 つで使用できる必要があります 。http://php.net/manual/en/reserved.variables.server.phpを参照してください。

次のようなもの:

if (preg_match("/your-domain/",$_SERVER['HTTP_REFERER']) {
  header('Location: /hidden_page.html');
} else {
  header('Location: /');
}

トリックを行う必要があります。

Google ボットとそのアクションの影響をリダイレクトするには、リダイレクトがある場合、Google ボットはサイト全体をクロールしますかhttp://forums.digitalpoint.com/showthread.php?t=1210を参照してください。

変数の内容と PHP で正規表現を使用する方法を理解するには、このサンプル コードを使用します。

<pre>
<?php 
    echo $_SERVER['HTTP_REFERER']."\n";
    echo $_SERVER['REMOTE_ADDR']."\n";

if (preg_match("/188.174.82.97/",$_SERVER['REMOTE_ADDR'])) {
        echo "Yes";
    } else {
        echo "No";
    }
?>
</pre>

スクリプトまたはphpfiddle.orgのようなもので

于 2012-09-29T12:47:00.680 に答える
0

条件付きの $_SERVER['HTTP_REFERER'] 変数をチェックして、ユーザーのリファラーが実際に何であるかを確認し、header() メソッドを使用して実際に別の URL にリダイレクトします。

于 2012-09-29T12:50:52.080 に答える