Position actuelle: Accueil> Derniers articles> Méthodes et mise en œuvre sûre de PHP pour obtenir un référence

Méthodes et mise en œuvre sûre de PHP pour obtenir un référence

M66 2025-10-05

Introduction à référente en php

Dans le développement Web, le référence fait partie de l'en-tête de demande HTTP qui identifie la page source de la demande. En obtenant un référence, vous pouvez réaliser des liens anti-vol, des statistiques de source utilisateur et d'autres fonctions. Cependant, il convient de noter que Http_Referer lui-même est facilement forgé, il n'est donc pas complètement fiable lorsque les exigences de sécurité sont élevées.

Utilisez la session pour vérifier la source de la demande

Étant donné que Http_Referer peut être falsifié, il est plus sûr d'utiliser la session ou les cookies pour déterminer si la demande provient de la page spécifiée. Ce qui suit est démontré par un exemple de code.

Exemple userRequest.php

<!DOCTYPE html>
<html>
<body>
<form action="determineuser.php" method="post" align="center">
    <input type="submit" name="click" value="Déterminer la demande de l&#39;utilisateur via la session"/>
</form>
<?php
session_start(); // Ouvrir Session
$setsession = uniqid(mt_rand(), TRUE); // Générer un identifiant unique
$_SESSION['set'] = $setsession;
$redirect = "determineuser.php?set={$setsession}"; // Livrable Session Logo

echo "<h1 align='center'> "
ECHO "Votre session actuelle est:". $ _ Session [&#39;set&#39;]; // La session s&#39;affiche sur la page

écho "</h1> "
?>
</body>
</html>

Exemple déterminant.php

<?php
session_start(); // examiner Session Soumettre et formulaire
if ( (isset($_SESSION['set']) && $_SESSION['set'] === TRUE) || isset($_POST['click']) ) {
    echo "Determined Last visited page on the server using HTTP REFERER:<br> ". $ _ Serveur [&#39;http_referrer&#39;];
    écho "<h1 align='center'> "
    écho "<p> C&#39;est le moyen sécurisé de déterminer le référence en utilisant la session:</p> "
    echo $ _Session [&#39;set&#39;]; // Vérifiez que la session correspond à l&#39;écho "</h1> "
} autre {
    // Si la source ne peut pas être déterminée, redirigez vers userRequest.php
    en-tête (&#39;emplacement: userRequest.php&#39;);
    sortie;
}
?>

Résumer

Il est simple d'utiliser $ _server ['http_referrer'] pour déterminer directement la source, bien qu'il ne soit pas sûr. Dans les scénarios avec des exigences de sécurité élevées, il est recommandé de vérifier la source de la demande via la session ou l'Ajax pour éviter les risques de contrefaçon de référence.