ブラウザでオフになっている場合でも、リファラーを http-request で送信する方法があるかどうか疑問に思っていました (たとえば、javascript を使用)。
リファラーが送信されないときに発生する問題:
私は攻撃の変更を最小限に抑えようとしているので、ページが読み込まれるたびにセッションキーを変更しています...セッションIDは同じままですが、キーは変更されます...基本的にページにスクリプトまたはスタイルファイルがある場合サーバーから送信する必要があるリファラーは、それらを正しく表示する必要があるページ、またはスクリプトを必要とするいくつかの部分を含むページです。サーバー上の別のページに変更すると、リファラーが変更されます。わかりました、説明するために、ここにパターンがあります(理解できない場合は、そう言ってください):
start: GET test.html --> referrer := null
`--> GET style.css --> referrer := test.html
---- CLICK ON LINK TO GO TO: 'form.html'
GET form.html --> referrer := test.html
`--> GET sendRequest.js --> referrer := form.html
`--> GET style.css --> referrer := form.html
---- CALL A PAGE DIRECTLY OVER ADDRESS BAR: http://somedomain.com/someotherpage.html
GET someotherpage.html --> referrer := null
したがって、セッションキーの変更を機能させるには:リファラーがnullの場合、または別のページに変更する場合にのみセッションキーを変更します...しかし、「リファラーの送信」がオフになっている場合は機能しません。 Opera を使用するときに行うことができます... b/c の場合、refer(r)er は常に null であり、クライアントが style.css のリクエストを test.html-page b/c から送信してから new を送信すると、問題が発生します。 sessionkey が設定されますが、style.css の要求は古い sessionkey で受信されます...そのため、最も簡単な方法 (おそらく何かが不足していると思います) は、 refer(r)er を使用することです。 ..