Maison > développement back-end > tutoriel php > 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
Libérer: 2024-10-26 05:36:02
original
288 Les gens l'ont consulté

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal