Maison >développement back-end >tutoriel php >HTTP_HOST vs SERVER_NAME en PHP : quelle variable dois-je utiliser ?

HTTP_HOST vs SERVER_NAME en PHP : quelle variable dois-je utiliser ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-13 01:18:08441parcourir

HTTP_HOST vs. SERVER_NAME in PHP: Which Variable Should I Use?

Comprendre la distinction entre HTTP_HOST et SERVER_NAME en PHP

PHP fournit deux variables, $_SERVER['HTTP_HOST'] et $_SERVER[' SERVER_NAME'], qui transmettent des informations sur l'hôte de la requête Web. Cet article examinera les différences entre ces variables et fournira des conseils sur le moment où les utiliser.

HTTP_HOST

La variable HTTP_HOST est collectée à partir de l'en-tête de la requête HTTP et représente l'hôte cible spécifié par le client. Cette valeur peut être manipulée par l'agent utilisateur et n'est pas nécessairement fiable pour des raisons de sécurité.

SERVER_NAME

La variable SERVER_NAME est configurée dans les fichiers de configuration du serveur et représente le nom d'hôte du serveur hébergeant le script PHP. Il est généralement plus fiable car il est sous le contrôle du serveur.

Choisir entre HTTP_HOST et SERVER_NAME

Le choix approprié entre HTTP_HOST et SERVER_NAME dépend de l'utilisation prévue :

  • Utilisez HTTP_HOST si vous avez besoin des informations sur l'hôte telles que perçues par le client navigateur.
  • Utilisez SERVER_NAME si vous avez besoin d'un nom d'hôte fiable pour des opérations critiques en matière de sécurité ou à des fins de configuration du serveur.

Considérations sur la fiabilité

Il Il est important de noter que la fiabilité de SERVER_NAME dépend de la configuration du serveur Web. Si la directive UseCanonicalName n'est pas activée dans la section VirtualHost du serveur HTTP Apache, elle peut renvoyer de manière incorrecte la valeur de l'en-tête de l'hôte HTTP pour SERVER_NAME.

La définition de UseCanonicalName sur « on » garantit que le serveur HTTP Apache fournit une valeur SERVER_NAME précise. Il est recommandé de vérifier la configuration du serveur pour garantir la fiabilité de cette variable.

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