リファラーに基づいて、特定のドメインのすべてのトラフィックを他のWebサイトにリダイレクトする方法を見つけようとしています。
たとえば、リファラーがない、または他のWebサイトからリンクされているユーザーのみがサイトにアクセスできるようにする必要があります。
私は、リファラーが指定したサイトと一致しなかった場合に、すべてのユーザーを自分の選択したWebサイトにリダイレクトするスクリプトを考えていました(ただし、リファラートラフィックは許可されませんでした)。
どんな助けでも大歓迎です!
リファラーに基づいて、特定のドメインのすべてのトラフィックを他のWebサイトにリダイレクトする方法を見つけようとしています。
たとえば、リファラーがない、または他のWebサイトからリンクされているユーザーのみがサイトにアクセスできるようにする必要があります。
私は、リファラーが指定したサイトと一致しなかった場合に、すべてのユーザーを自分の選択したWebサイトにリダイレクトするスクリプトを考えていました(ただし、リファラートラフィックは許可されませんでした)。
どんな助けでも大歓迎です!
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/」) にリダイレクトして終了します。
HTTPリファラー(意図的なスペルミス)ヘッダーを確認するだけです。
if (!stristr($_SERVER['HTTP_REFERER'], "somesiteyouspecify") && !$_SERVER['HTTP_REFERER'] == '') ... redirect
ApacheやnginxなどのWebサーバーでRewriteRulesとして構成する必要があります。例はドキュメントで簡単に見つけることができます...(使用されているWebサーバーソフトウェアを知っていれば、1つ挙げます...)