2012-03-08 3 views
4

私のCMSは利便性のために他のサイトにリンクしています。リファラーを隠して、他のサイトに自分のCMSのディレクトリとクエリ文字列が表示されないようにしたいと思います。私は今、CMSのPHPファイルにリンクしています。私のサーバ上では、ヘッダ()経由でリダイレクトされていますが、リファラはPHPをリンクしたものではなく、私のCMSのものです。さらに...PHP:ヘッダー()でリファラーを変更する

header("Referer: nowhere"); 
header("Location: $_REQUEST[urltolinkto]"); 

...何も変更されていません。私がrefererとして何を入れたとしても、それは常にユーザーが実際にリンクをクリックしたCMSからのものです。

Refererを(PHPにリンクして)変更することはできますか、またはjavascriptやメタリフレッシュを使用する必要がありますか?

+0

可能な複製http://stackoverflow.com/questions/6428762/hide-referrer-on-click – MrCode

答えて

8

Refererヘッダーは、ブラウザがサーバーに送信するものです。 cookieヘッダーとは異なり、この方法では動作しないように、サーバーからブラウザへのresposeを変更しています。私が知る限り、Refererを送信する際のブラウザの動作をサーバー側で制御することはできません。

0

ブラウザは送信するリファラーを選択しますが、その周りには方法があります。

HTML5が追加されたメタリファラーで、ほとんどの現代のブラウザがそれを尊重します。あなたのサイトの頭に

<meta name="referrer" content="no-referrer"> 

を追加するだけです。

ref(httpsリダイレクトiframe tricksなど)を非表示にするリダイレクトサービスやその他のハッキングもあります。

関連する問題