ログアウトページで私はの使用を見てきました
$http_referer=$_SERVER['HTTP_REFERER'];
header('Location :'.$http_referer);
このヘッダーリダイレクトページはどこにあり、http_referrerは何のために使用されますか
ログアウトページで私はの使用を見てきました
$http_referer=$_SERVER['HTTP_REFERER'];
header('Location :'.$http_referer);
このヘッダーリダイレクトページはどこにあり、http_referrerは何のために使用されますか
一部のクライアントは、どこから来たのかを示すリファラーヘッダーを送信します。問題のコードは、クライアントをそのページにリダイレクトします。
ただし、すべてのクライアントがヘッダーを送信するわけではないことに注意してください。一部のブラウザでは、リファラーヘッダーを無効にできます。また、HTTPSを介して送信されることはめったにありません。ヘッダーが空の場合は、適切なデフォルトの動作があることを確認してください。
Http-Refererを使用すると、ユーザーが以前にどのページにいたかを確認できます。たとえば、ユーザーがオンhttp://www.google.com
になっていて、ページへのリンクをクリックすると、リファラーにが表示されますhttp://www.google.com
。
リファラーヘッダーは、ユーザーがアクセスしたページを示すためにブラウザーから送信されます。たとえば、サイトへのリンクをクリックしたり、フォームを送信したりします。
まったく存在しないか、他のものが含まれている可能性があります。たとえば、一部のファイアウォールは、(かなり疑わしい)「プライバシー」の理由でヘッダーを削除します。ブラウザは、HTTPS=>HTTP遷移中にもそれを削除します。
ただし、あなたの場合、ログアウトページには自分のサイトからのみアクセスできる可能性があります。したがって、リファラーが存在するかどうかを簡単に確認し、この場合はそれを使用できます。空の場合は、たとえばホームページにリダイレクトします。
$redirect_to = !empty($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'index.php';
header('Location: ' . $redirect_to);
Http Referer は、ユーザーがページにリダイレクトされるページのアドレスを示します。
php.net manualによると、HTTP_REFERER は、ユーザー エージェントが現在のページを参照したページ (存在する場合) のアドレスです。これは、ユーザー エージェントによって設定されます。すべてのユーザー エージェントがこれを設定するわけではなく、機能として HTTP_REFERER を変更する機能を提供するユーザー エージェントもあります。要するに、本当に信用できない。
www.xyz.com/abc/text.php のような URL の場合、リファラーには次のデータがあります。次のようにエコーします。
echo $http_referer=$_SERVER['HTTP_REFERER'];
それはwww.xyz/abcを印刷しています
このリンクにアクセスしました: http://www.electrictoolbox.com/php-http-referer-variable/
それでおしまい。