2

リファラーヘッダーチェックを多層防御として使用しようとしています(つまり、多くのセキュリティ手法の1つですが、いずれか1つだけに依存していることに注意してください)。

更新時に MSIE にリファラーが含まれていない場合があるようです。それは期待される動作ですか?とにかく更新を検出できるので、欠落しているリファラーが問題ないことを知っていますか?

はい、リファラーがカスタム ブラウザーで偽装される可能性があることはわかっています。ハッカーが私の小さなサイトをハッキングしたい場合は、適切なリファラーを設定するために時間を費やす必要があります.

4

5 に答える 5

3

rfc2616が「リロード」で何が起こるかを正確に指定していないことを考えると(リファラー: URI が独自の URI を持たないソースから取得された場合は送信してはならない)、いくつかの変動性がある可能性があります。

ただし、「セキュリティ」のコンテキスト内で話していることを考えると、リファラーが期待されているのではないかと思います。HTTPSでアクセスしたページからHTTPでアクセスしたページに移動してリロードを押すと、セクション15.1.3に特定の言及がありますこれの:

Clients SHOULD NOT include a Referer header field in a (non-secure)
HTTP request if the referring page was transferred with a secure
protocol.

私はリファラーを信用しません: セキュリティの観点から。まず、標準自体が、これは調整可能であると述べているため (rfc2616、151 ページ):

The information sent in the From field might conflict with the user's
privacy interests or their site's security policy, and hence it
SHOULD NOT be transmitted without the user being able to disable,
enable, and modify the contents of the field. The user MUST be able
to set the contents of this field within a user preference or
application defaults configuration.

第二に、実用的な観点から、たとえば Firefox の場合、このフィールドをいじるコントロールは about:config, network.http.sendRefererHeader にあり、たとえばhereに文書化されています。

また、任意のリファラー ヘッダーを送信したい場合、"より多くの作業" は、curlをダウンロードして起動し、リファラーを好きなように設定するオプションを使用するだけです。(--referer <URL>)。したがって、あらゆる種類のセキュリティのような処理で使用しようとするのは弱い考えです。

于 2009-08-11T19:39:38.773 に答える
2

ページを更新すると、通常、ブラウザーが呼び出され、現在のページを取得するために使用された要求が再送信されます。(これが、POST リクエストを再送信するかどうかを尋ねられる理由でもあります。) したがって、Referer は、前のリクエストにすでに Referer も含まれている場合にのみ送信されます。

于 2009-08-11T19:24:37.820 に答える
1

リファラーは、ブックマークのクリック時またはユーザーが URL を入力したときに設定されません。

これは更新にも当てはまるように思えます。そうしないと、ユーザーがリンクを 1 回クリックしただけで F5 キーを何度も押したとしても、1 つのリンクから大量の受信トラフィックを取得しているように見えるからです。

あくまで私の意見ですが。これは非常に信頼性の低いインジケーターであり、主に個々のブラウザー クライアントの動作に依存し、通常はカスタマイズして起動できます。

于 2009-08-11T19:23:35.590 に答える
1

JavaScript 経由でリンクに移動した場合、MSIE はリファラーを送信しないことに注意してください。これは既知のバグです (IE6 の開発以降、更新されていません)。

//e.g. this will not send the referer in IE
location.href = 'somepage.html';

//and I believe it also affects
location.reload();
于 2009-08-11T19:57:04.917 に答える
0

ほとんどのブラウザーは、元の要求を再送信します。つまり、元のリクエストにリファラーがある場合、リファラーが含まれます。

于 2009-08-11T19:26:22.887 に答える