Web開発では、リファラーはリクエストのソースページを識別するHTTPリクエストヘッダーの一部です。参照を取得することにより、盗難防止リンク、ユーザーソースの統計、その他の機能を実現できます。ただし、HTTP_REFERER自体は簡単に偽造されることに注意する必要があるため、セキュリティ要件が高い場合は完全に信頼できないことに注意してください。
http_refererには改ざんされる可能性があるため、セッションまたはCookieを使用して、リクエストが指定されたページから来るかどうかを判断する方が安全です。以下は、サンプルコードによって実証されています。
<!DOCTYPE html> <html> <body> <form action="determineuser.php" method="post" align="center"> <input type="submit" name="click" value="セッションを合格じてユーザーリクエストを決めるします"/> </form> <?php session_start(); // 開ける Session $setsession = uniqid(mt_rand(), TRUE); // 一意の識別子を生成します $_SESSION['set'] = $setsession; $redirect = "determineuser.php?set={$setsession}"; // 成果物 Session ロゴ echo "<h1 align='center'> "; echo "今のセッションは二流のとおりです。"。$ _ session ['set']; //ページにセッションが急行されます エコー」</h1> "; ?> </body> </html>
<?php session_start(); // 診る Session 提出して形成します if ( (isset($_SESSION['set']) && $_SESSION['set'] === TRUE) || isset($_POST['click']) ) { echo "Determined Last visited page on the server using HTTP REFERER:<br> "。$ _ server ['http_referer']; エコー」<h1 align='center'> "; エコー」<p> これは、セッションを使用して参照を決めるする安全性な方法です。</p> "; Echo $ _Session ['set']; //セッションがエコーと一貫性のあるすることを確認します」</h1> "; } それ以外 { //ソースを決めるできない場合は、userrequest.phpにリダイレクトします ヘッダー( '場所:userrequest.php'); 出口; } ?>
$ _server ['http_referer']を使用して、安全ではありませんが、ソースを直接決定するのは簡単です。セキュリティ要件が高いシナリオでは、セッションまたはAJAXを通じてリクエストのソースを確認して、参照者の偽造のリスクを回避することをお勧めします。