3

HTTP_REFERERがスプーフィングされる可能性があると聞きました。2つのサイトがあります。最初のサイトは2番目のサイトに接続し、2番目のサイトはHTTP_REFERERを使用して、リクエストが最初のサイトからのものであることを確認します。

最初のサイトから2番目のサイトに偽のリクエストを受け取り、このリクエストが行われなかったことがわかっている場合、どうすればよいですか?3番目のWebサイトがすべてのユーザーのhttp_refをスプーフィングしているのか、それとも個人がブラウザー設定からhttp_refをスプーフィングしているのか。http_refがクライアント/ブラウザによって設定/なりすまされているのか、それともWebサイト自体によって設定されているのか知りたいですか?

4

2 に答える 2

8

クライアントから送信される情報です。通常、リンクをクリックしたページとして設定されます。

また、絶対になりすましも可能です。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つのサイト間の接続を保護しようとしている場合は、単なるヘッダー以外の接続を制限する必要があります。これはまったく安全ではありません。

編集:本当に偽のヘッダーを送信することもできます。例を更新して、意味を示しました。一部のサイトでは、カスタム(偽のヘッダーなど)ヘッダーを使用して認証を渡します。

于 2011-03-28T01:25:40.310 に答える
0

クライアントによって非常に簡単にスプーフィングされる可能性があります。ただし、ほとんどの人は気にしません。99% の場合、そう信じない正当な理由 (ボットの疑いがある場合など) がない限り、それが正しい値であると考える必要があります。

于 2011-03-28T01:33:08.753 に答える