J'ai fait beaucoup de recherche et aussi de lire le PHP $_SERVER page de man. Puis-je avoir ce droit à l'égard de laquelle l'utiliser pour mes scripts PHP pour de simples définitions utilisées tout au long de mon site?
$_SERVER['SERVER_NAME']
est basé sur votre serveur web fichier de config (Apache2 dans mon cas), et qui varie selon quelques directives: (1) VirtualHost, (2) le nom du serveur (3) UseCanonicalName, etc.
$_SERVER['HTTP_HOST']
est basé sur la demande du client.
Par conséquent, il me semble que le propre de l'utiliser pour faire mes scripts aussi compatible que possible serait $_SERVER['HTTP_HOST']
. Cette hypothèse est correcte?
Suivi des commentaires:
Je suppose que je suis un peu paranoïaque après la lecture de cet article, et notant que quelqu'un a dit "qu'ils ne serait pas confiance tout de la valeur de $_SERVER vars":
http://markjaquith.wordpress.com/2009/09/21/php-server-vars-not-safe-in-forms-or-links/
et aussi:
http://www.php.net/manual/en/reserved.variables.server.php (commentaire: Vladimir Kornea 14-Mar-2009 01:06)
Apparemment, la discussion porte principalement sur l' $_SERVER['PHP_SELF']
et pourquoi vous ne devriez pas l'utiliser dans l'attribut action du formulaire sans échapper pour empêcher les attaques XSS.
Ma conclusion au sujet de ma question initiale, c'est qu'il est "sûr" pour utiliser $_SERVER['HTTP_HOST']
pour tous les liens sur un site sans avoir à se soucier des attaques XSS, même lorsqu'il est utilisé dans les formulaires.
S'il vous plaît corrigez-moi si je me trompe.