Maison >développement back-end >tutoriel php >Comment puis-je obtenir l'URL complète en PHP, même avec les masques .htaccess ?

Comment puis-je obtenir l'URL complète en PHP, même avec les masques .htaccess ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-21 00:02:08970parcourir

How Can I Get the Full URL in PHP, Even with .htaccess Masks?

Comment obtenir l'URL complète en PHP

Pour déterminer l'URL complète d'une page Web ou d'une application, PHP propose divers mécanismes. Une méthode couramment utilisée consiste à utiliser une combinaison de $_SERVER['HTTP_HOST'] et $_SERVER['PHP_SELF'], comme indiqué dans le bloc de code mentionné dans la question d'origine.

La mise en garde concernant cette approche se pose lorsque les masques sont implémentés dans le fichier .htaccess. Ces masques peuvent potentiellement modifier l'URL affichée dans la barre d'adresse, la rendant distincte du chemin réel du fichier sur le serveur. Pour surmonter ce problème et récupérer avec précision l'URL qui apparaît dans la barre de navigation du navigateur, envisagez d'utiliser la variable $_SERVER['REQUEST_URI'].

$actual_link = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

Il est important de noter que les chaînes entre guillemets sont entièrement prises en charge. en PHP. Pour gérer les protocoles HTTP et HTTPS de manière transparente, l'extrait de code suivant peut être utilisé :

$actual_link = (empty($_SERVER['HTTPS']) ? 'http' : 'https') . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

Considérations de sécurité :

Sachez que des mesures de nettoyage et de validation des entrées sont crucial lorsque vous travaillez avec $_SERVER['HTTP_HOST'] et $_SERVER['REQUEST_URI'] en raison de leur potentiel de manipulation par acteurs malveillants. Il est essentiel de se prémunir contre la définition de valeurs arbitraires pour ces variables, en particulier dans des contextes sensibles en matière de 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn