Obtenir l'URL complète en PHP
Lors de la tentative de récupération de l'URL complète à l'aide de l'extrait de code $actual_link = 'http://' .$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];, on est confronté à une limitation due au masquage .htaccess. L'URL renvoyée peut ne pas refléter fidèlement l'URL affichée dans la barre de navigation du navigateur.
Pour obtenir l'URL exacte telle qu'elle apparaît dans le navigateur, utilisez la variable $_SERVER['REQUEST_URI']. Le code suivant illustre son utilisation :
$actual_link = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
Pour plus de flexibilité entre les protocoles HTTP et HTTPS, utilisez le code suivant :
$actual_link = (empty($_SERVER['HTTPS']) ? 'http' : 'https') . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
Considérations de sécurité
Il est important de noter que ce code a des implications en matière de sécurité. Le client et le serveur peuvent modifier HTTP_HOST et REQUEST_URI en valeurs arbitraires. Une désinfection et une validation des entrées adéquates sont cruciales pour empêcher que ces valeurs ne soient exploitées dans des contextes de sécurité (CWE-20).
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!