クライアントから送信される情報です。通常、リンクをクリックしたページとして設定されます。
また、絶対になりすましも可能です。PHPのcURLリクエストでHEADERを設定することで、自分でそれを行うことができます。
curl_setopt( $ch, CURLOPT_HTTPHEADER, array(
'Host: www.google.com',
'Referer: http://google.com/',
'FaKeHEADER: ThisIsFakeButItWillBeSentAnyways'));
受信サーバーは、google.comから送信されたことがない場合でも、ヘッダーにそれらを表示します。ヘッダーに表示される他のすべてのもの(ユーザーエージェント、Cookieなど)を偽装することもできます。
各ソースからそれぞれがどのように見えるかを正確に理解していない限り、なりすましヘッダーを検出するのは困難です。できる最善のことは、IPを操作し、受け入れるヘッダータイプを制限することです(たとえば、ページがGETリクエストのみを使用できる場合は、すべてのPOSTリクエストを拒否します)。それでも、誰かがあなたをだまそうとしている場合、彼らはそうする可能性があり、あなたはそれを知らないでしょう。
の2つのサイト間の接続を保護しようとしている場合は、単なるヘッダー以外の接続を制限する必要があります。これはまったく安全ではありません。
編集:本当に偽のヘッダーを送信することもできます。例を更新して、意味を示しました。一部のサイトでは、カスタム(偽のヘッダーなど)ヘッダーを使用して認証を渡します。