In der Webentwicklung ist Referer Teil des HTTP -Anforderungsheaders, der die Quellseite der Anforderung identifiziert. Durch die Erlangung des Referers können Sie Anti-Diebstahl-Links, Benutzerquellenstatistiken und andere Funktionen erkennen. Es ist jedoch zu beachten, dass http_referer selbst leicht geschmiedet ist, sodass es nicht vollständig zuverlässig ist, wenn die Sicherheitsanforderungen hoch sind.
Da http_referer möglicherweise manipuliert wird, ist es sicherer, Sitzung oder Cookies zu verwenden, um festzustellen, ob die Anforderung von der angegebenen Seite stammt. Das Folgende wird durch Beispielcode demonstriert.
<!DOCTYPE html> <html> <body> <form action="determineuser.php" method="post" align="center"> <input type="submit" name="click" value="Bestimmen Sie die Benutzeranforderung durch Sitzung"/> </form> <?php session_start(); // Offen Session $setsession = uniqid(mt_rand(), TRUE); // Erzeugen Sie eine eindeutige Kennung $_SESSION['set'] = $setsession; $redirect = "determineuser.php?set={$setsession}"; // Lieferbar Session Logo echo "<h1 align='center'> "; echo "Ihre aktuelle Sitzung ist:". $ _ Session ['set']; // Sitzung wird auf der Seite angezeigt Echo "</h1> "; ?> </body> </html>
<?php session_start(); // prüfen Session Senden und Formular 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']; Echo "<h1 align='center'> "; Echo "<p> Dies ist der sichere Weg, um den Referator mithilfe der Sitzung zu bestimmen:</p> "; echo $ _Session ['set']; // Überprüfen Sie, ob die Sitzung entspricht. "</h1> "; } anders { // Wenn die Quelle nicht ermittelt werden kann, leiten Sie auf userRequest.php um Header ('Ort: userRequest.php'); Ausfahrt; } ?>
Es ist einfach, $ _server ['http_referer'] zu verwenden, um die Quelle direkt zu bestimmen, obwohl sie nicht sicher ist. In Szenarien mit hohen Sicherheitsanforderungen wird empfohlen, die Quelle der Anfrage über Sitzung oder AJAX zu überprüfen, um die Risiken einer Fälschung des Referers zu vermeiden.