Maison  >  Article  >  développement back-end  >  Pourquoi REGISTER_GLOBALS est-il considéré comme un cauchemar de sécurité en PHP ?

Pourquoi REGISTER_GLOBALS est-il considéré comme un cauchemar de sécurité en PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-26 05:36:02189parcourir

Why is REGISTER_GLOBALS Considered a Security Nightmare in PHP?

REGISTER_GLOBALS : Pourquoi est-il méprisé ?

Pour les développeurs PHP fréquents, la simple mention de REGISTER_GLOBALS évoque une réaction viscérale, semblable à une rencontre avec la peste. Mais pourquoi une aversion si intense envers ce paramètre particulier ?

Les dangers de REGISTER_GLOBALS

REGISTER_GLOBALS permet à toutes les variables transmises via GET ou POST d'être accessibles en tant que variables globales dans un script . Cette fonctionnalité apparemment anodine recèle une menace cachée.

L'accès à des variables non déclarées en PHP déclenche uniquement un avertissement, pas une erreur. Par conséquent, cela peut créer un terrain fertile pour des vulnérabilités insidieuses.

Un exemple illustratif

Considérez l'extrait de code suivant :

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

Si $ La requête n'est pas explicitement déclarée, le code ci-dessus afficherait la valeur d'une variable GET ou POST nommée "requête" sans erreur. Bien que cela ne constitue pas une menace immédiate, un code PHP mal conçu est malheureusement courant.

Dans de tels scénarios, REGISTER_GLOBALS peut introduire des effets secondaires involontaires et des failles de sécurité qui autrement seraient facilement apparentes comme des erreurs.

Conclusion

Bien qu'il ne soit pas intrinsèquement malveillant, REGISTER_GLOBALS s'est avéré être une cause importante de problèmes de sécurité et de stabilité au sein des bases de code PHP. En conséquence, il a gagné sa tristement célèbre réputation et les développeurs ont convenu à l’unanimité de le traiter comme un décor paria.

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