1

リファラーに基づいて、特定のドメインのすべてのトラフィックを他のWebサイトにリダイレクトする方法を見つけようとしています。

たとえば、リファラーがない、または他のWebサイトからリンクされているユーザーのみがサイトにアクセスできるようにする必要があります。

私は、リファラーが指定したサイトと一致しなかった場合に、すべてのユーザーを自分の選択したWebサイトにリダイレクトするスクリプトを考えていました(ただし、リファラートラフィックは許可されませんでした)。

どんな助けでも大歓迎です!

4

3 に答える 3

3

Referer次の PHP コードでそれを行う必要があります (ただし、ヘッダーはクライアントによって提供されるため、これをセキュリティ対策として使用できないことに注意してください)。

if (isset($_SERVER['HTTP_REFERER']) &&
    $_SERVER['HTTP_REFERER'] &&
    stripos($_SERVER['HTTP_REFERER'], "example.org") === false) {
    header("Location: http://example.com/", true, 302);
    exit();
}

ここでは、クライアントがRefererヘッダーを提供したこと、次にヘッダーが空でないこと、最後に適切なドメイン名 (ここでは「example.org」) がないことを確認します。その場合、クライアントを別の URL (ここでは「http://example.com/」) にリダイレクトして終了します。

于 2012-10-27T23:08:14.123 に答える
1

HTTPリファラー(意図的なスペルミス)ヘッダーを確認するだけです。

if (!stristr($_SERVER['HTTP_REFERER'], "somesiteyouspecify") && !$_SERVER['HTTP_REFERER'] == '') ... redirect
于 2012-10-27T22:53:39.337 に答える
1

ApacheやnginxなどのWebサーバーでRewriteRulesとして構成する必要があります。例はドキュメントで簡単に見つけることができます...(使用されているWebサーバーソフトウェアを知っていれば、1つ挙げます...)

于 2012-10-27T23:06:01.270 に答える