29. La Superglobale $_SERVER
La superglobale $_SERVER est un tableau contenant des informations créées par le serveur web, les en-têtes, les chemins et les emplacements des scripts. Elle est extrêmement utile pour le routage, la journalisation et les vérifications de sécurité.
Éléments Clés de $_SERVER
| Clé | Description | Exemple de Valeur |
|---|---|---|
$_SERVER['PHP_SELF'] | Nom de fichier du script en cours d'exécution. | /index.php |
$_SERVER['SERVER_NAME'] | Nom du serveur hôte. | localhost |
$_SERVER['REQUEST_METHOD'] | La méthode HTTP utilisée pour accéder à la page. | GET, POST, PUT |
$_SERVER['REMOTE_ADDR'] | L'adresse IP de l'utilisateur consultant la page actuelle. | 127.0.0.1 |
$_SERVER['HTTP_USER_AGENT'] | Informations sur le navigateur et l'OS du client. | Mozilla/5.0... |
Utilisation Pratique : Vérification de la Méthode de Requête
Comme vu dans la leçon sur les formulaires, nous utilisons souvent REQUEST_METHOD pour différencier un simple chargement de page (GET) d'une soumission de formulaire (POST).
php
Utilisation Pratique : Formulaires à Auto-Soumission (Note de Sécurité)
Bien que nous utilisions <?php echo $_SERVER['PHP_SELF']; ?> pour que les formulaires se soumettent à eux-mêmes, cette pratique est vulnérable au Cross-Site Scripting (XSS) si elle n'est pas correctement nettoyée (sanitized). Pour le code de production, utilisez toujours la fonction intégrée htmlspecialchars() pour nettoyer le résultat, empêchant les attaquants d'injecter du code malveillant dans l'URL qui est ensuite affichée.
html