2013-01-04 59 views
5

可能性の重複:
How to manually set REFERER header in Javascript?リファラの値を変更する

どうdocument.referrerの値を変更するには?

私はそれは、任意のアイデアを動作していないこの

<body> 
<center><a href="test.php" target="_self">self</a></center> 
<script type="text/javascript"> 
    alert(document.referrer); 
    document.referrer="test"; 
    alert(document.referrer); 
</script> 
</body> 

を試してみましたか?

+2

あなたは何を達成しようとしていますか? – SLaks

+1

http://stackoverflow.com/questions/9580575/how-to-manually-set-referer-header-in-javascript – Roonaan

+1

に似ているようではありません。リファラースプーフィングを防止するためです。http://stackoverflow.com/questions/1267550/http-referer-in-javascript – SeanLi

答えて

8

あなたは直接リファラを変更することはできませんが、新しいURLをプッシュするhistory.pushState()/history.replaceState()を使用することができますブラウザの履歴に追加します(プッシュするURLに同じドメインがある場合)。移動すると、新しいURLが参照元になります。

pushStateを使用して歴史を操作すると、新しい履歴エントリが追加されますが、見ているページは同じままで、ユーザーが戻って1つの実際ページに行くために二回、ブラウザの「戻る」ボタンを押す必要がありますのでご了承ください。

を使用した場合、リファラーを非表示にしたいページから戻ってくると、新しく設定されたURLに移動するため、代わりに何らかの方法で元のページにリダイレクトされますそれらを404またはまったく異なるページに送信することができます。

+1

'pushState'関数は同じドメインに制限されていますポリシードメインを変更することはできません。 –

+0

あなたは英雄です。ありがとう –

関連する問題