Aktueller Standort: Startseite> Neueste Artikel> Methoden und sichere Implementierung von PHP, um Referatoren zu erhalten

Methoden und sichere Implementierung von PHP, um Referatoren zu erhalten

M66 2025-10-05

Einführung in Referer in PHP

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.

Verwenden Sie die Sitzung, um die Quelle der Anfrage zu überprüfen

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.

userRequest.php Beispiel

<!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 [&#39;set&#39;]; // Sitzung wird auf der Seite angezeigt

Echo "</h1> ";
?>
</body>
</html>

bestimmen.php Beispiel

<?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 [&#39;http_referer&#39;];
    Echo "<h1 align='center'> ";
    Echo "<p> Dies ist der sichere Weg, um den Referator mithilfe der Sitzung zu bestimmen:</p> ";
    echo $ _Session [&#39;set&#39;]; // Überprüfen Sie, ob die Sitzung entspricht. "</h1> ";
} anders {
    // Wenn die Quelle nicht ermittelt werden kann, leiten Sie auf userRequest.php um
    Header (&#39;Ort: userRequest.php&#39;);
    Ausfahrt;
}
?>

Zusammenfassen

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.