REGISTER_GLOBALS : un risque pour la 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 vient 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 à des variables non déclarées n'est qu'un avertissement en PHP, pas une erreur.
Considérez le code hypothétique suivant :
// $debug = true;
if ($debug) {
echo "query: $query\n";
}
Sans REGISTER_GLOBALS activé, l'accès à la variable $query non déclarée 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. En tant que tel, il est généralement recommandé de désactiver REGISTER_GLOBALS pour une sécurité renforcée.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3