Maison  >  Article  >  développement back-end  >  Pourquoi REGISTER_GLOBALS constitue-t-il un risque pour la sécurité en PHP ?

Pourquoi REGISTER_GLOBALS constitue-t-il un risque pour la sécurité en PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-27 01:14:03639parcourir

Why is REGISTER_GLOBALS a security hazard in PHP?

REGISTER_GLOBALS : un risque de sécurité PHP

REGISTER_GLOBALS était autrefois une fonctionnalité controversée de PHP, suscitant une condamnation généralisée. Sa tristement célèbre réputation découle des risques de sécurité inhérents qu'elle pose.

Alors, quel est le problème avec REGISTER_GLOBALS ?

REGISTER_GLOBALS crée automatiquement des variables globales pour tous les paramètres de requête GET et POST. , les rendant accessibles n'importe où dans le script. Cela constitue une menace importante car l'accès aux variables non déclarées n'est qu'un avertissement en PHP, pas une erreur.

Considérez le code hypothétique suivant :

<code class="php">// $debug = true;
if ($debug) {
    echo "query: $query\n";
}</code>

Sans REGISTER_GLOBALS activé, l'accès à la requête $ non déclarée variable entraînerait un avertissement ou une erreur, invitant les développeurs à définir explicitement la variable. Cependant, avec REGISTER_GLOBALS activé, la requête $non déclarée serait toujours disponible en tant que variable globale, créant ainsi une possibilité potentielle pour les attaquants d'exploiter ce paramètre non déclaré.

Bien qu'il ne soit pas mauvais en soi, REGISTER_GLOBALS peut exacerber les failles de sécurité répandues dans de nombreux scripts PHP en raison de leur qualité souvent déficiente. A ce titre, il est généralement recommandé de désactiver REGISTER_GLOBALS pour une sécurité renforcée.

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