Maison > développement back-end > tutoriel php > Quelle variable PHP $_SERVER est la meilleure pour les définitions de liens de sites Web : HTTP_HOST ou SERVER_NAME ?

Quelle variable PHP $_SERVER est la meilleure pour les définitions de liens de sites Web : HTTP_HOST ou SERVER_NAME ?

Patricia Arquette
Libérer: 2024-11-19 05:23:03
original
571 Les gens l'ont consulté

Which PHP $_SERVER variable is best for website link definitions: HTTP_HOST or SERVER_NAME?

Comprendre PHP $_SERVER['HTTP_HOST'] et $_SERVER['SERVER_NAME']

Déterminer la variable de serveur correcte à utiliser pour le site Web les définitions de liens soulèvent des inquiétudes. La documentation PHP et des recherches approfondies en ligne conduisent aux informations suivantes :

**$_SERVER['HTTP_HOST'] vs. **_$SERVER['SERVER_NAME']

$_SERVER['SERVER_NAME'] repose sur la configuration du serveur Web (généralement Apache2) et est influencé par des directives telles que VirtualHost, ServerName et UseCanonicalName.
À l'inverse, $_SERVER['HTTP_HOST'] est dérivé de la demande du client.

Choisir la variable appropriée

En fonction de ces différences, $_SERVER[ 'HTTP_HOST'] semble être plus approprié pour garantir la compatibilité entre différents environnements. Cependant, des inquiétudes proviennent d'articles suggérant le manque de fiabilité des variables $_SERVER dans des contextes de sécurité.

Considérations sur la sécurité

La documentation PHP et les références telles que l'article de Mark Jaquith mettent en évidence le potentiel pour les attaques XSS lors de l'utilisation de $_SERVER['PHP_SELF'] dans des actions de formulaire sans nettoyage approprié. Cependant, ce problème ne s'applique pas directement à $_SERVER['HTTP_HOST'].

Conclusion

Bien que $_SERVER['HTTP_HOST'] réponde aux soucis de compatibilité, il est important de faire preuve de prudence en mettant en œuvre des mesures de sécurité telles que :

  • Forcer Apache à utiliser le nom canonique pour des résultats cohérents avec SERVER_NAME.
  • Mise en liste blanche des noms d'hôtes acceptables pour empêcher toute manipulation malveillante.

En prenant ces mesures, vous pouvez garantir l'utilisation sécurisée et fiable des variables PHP $_SERVER dans le fichier de votre site Web. définitions de liens.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal