3

重複の可能性:
PHP-リファラーリダイレクトスクリプト

たとえば、ブラウザのhttp_refererを変更するスクリプトを作成しようとしています。

リンクがあります

http://www.mysite.com/page.php?changeRefererTo=mysite2.com&redirectTo=www.newwebsite.com

ChangeRefererToは、ブラウザのhttp_refererコードを変更する値を保持しています。http_refererを変更すると、$redirectToに転送されます。

PHPで可能ですか?

4

2 に答える 2

4

ブラウザのリファラーの概念をサーバーから変更することはできません。PHPで変更することはでき$_['http_referer']ますが、それはPHPが見るものにのみ影響し、ブラウザが見るものには影響しません。ブラウザのリファラーを変更できた場合、サイトがブラウザに必要なリファラーを使用させる可能性があるため、セキュリティ上の問題が発生します。

ただし、PHPスクリプトは、任意のリファラーを使用してページをフェッチし、その結果をユーザーに表示できます。この実際の例については、 PHP-リファラーリダイレクトスクリプトを参照してください。

于 2012-08-28T06:44:27.247 に答える
1

できません。

リファラーはブラウザー(つまりクライアント側)によって設定されます。PHPはサーバー側で実行され、クライアント側の情報を変更することはできません。

他のオプションはjavascriptを介して変更することでしたが、ブラウザでは変更できません。どうしてもwww.newwebsite.comリファラーをヒットする必要がある場合は、独自のHTTPヘッダーを設定できるcURLmysite2.comまたは同様のライブラリを使用できます。これは、を制御できないことを前提としています。制御できる場合は、fromにリダイレクトしてから、fromにリダイレクトできます。mysite2.commysite2.commysite.comwww.newwebsite.commysite2.com

于 2012-08-28T06:52:05.363 に答える