Comment récupérer l'URL complète, y compris les modifications de masque, en PHP
Lors de la création d'un site Web dynamique, il est crucial d'accéder à l'URL complète que les utilisateurs voient dans leurs navigateurs Web. Cependant, les méthodes traditionnelles comme $_SERVER['PHP_SELF'] peuvent ne pas toujours suffire en raison de l'utilisation de masques d'URL dans .htaccess. Pour résoudre ce problème, $_SERVER['REQUEST_URI'] fournit une solution complète.
Utiliser $_SERVER['REQUEST_URI']
Pour obtenir l'URL complète telle qu'elle apparaît dans la barre d'adresse, utilisez le code suivant :
$actual_link = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
Ce code combine $_SERVER['HTTP_HOST'] avec $_SERVER['REQUEST_URI'], qui contient le chemin et la chaîne de requête. Il génère efficacement l'URL complète, y compris toutes les modifications de masque appliquées dans .htaccess.
Prise en charge de HTTP et HTTPS avec inclusion de protocole
Pour garantir la prise en charge des protocoles HTTP et HTTPS , modifiez le code comme suit :
$actual_link = (empty($_SERVER['HTTPS']) ? 'http' : 'https') . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
Ce code mis à jour vérifie la valeur $_SERVER['HTTPS'] et ajoute le protocole en fonction de sa présence.
Considérations de sécurité
Il est important de noter que ces techniques peuvent présenter des risques de sécurité car HTTP_HOST et REQUEST_URI peuvent être manipulés par le client ou le serveur. Une validation et une désinfection appropriées des entrées sont essentielles avant d'utiliser ces valeurs dans tout scénario lié à la sécurité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!