Si vous vous souvenez encore de l'utilisation du C pour développer des programmes CGI au début du développement d'applications WEB , Vous aurez certainement une compréhension approfondie du traitement fastidieux des formulaires. Lorsque l'option de configuration register_globals de PHP est activée, le traitement complexe des formulaires bruts n'existe plus et les variables publiques sont automatiquement créées. Cela rend la programmation PHP facile et pratique, mais cela entraîne également des risques de sécurité.
En fait, register_globals est innocent, il ne crée pas de vulnérabilités et oblige les développeurs à commettre des erreurs. Cependant, il y a deux raisons principales pour lesquelles vous devez désactiver Register_globals lors du développement et du déploiement d'applications :
Premièrement, cela augmente le nombre de vulnérabilités de sécurité
; Deuxièmement, cela cache la source des données, ce qui va à l'encontre de la responsabilité du développeur de suivre les données à tout moment.
Tous les exemples de ce livre supposent que register_globals a été désactivé et utilisent des tableaux super publics tels que $_GET et $_POST à la place. Utiliser ces tableaux est presque aussi pratique que programmer avec register_globals activé, et le léger inconvénient en vaut la peine car il augmente la sécurité de votre programme.
Conseils
Si vous devez développer une application déployée dans un environnement où register_globals est activé, il est très important que vous Toutes les variables doivent être initialisées et error_reporting défini sur E_ALL(ou E_ALL | E_STRICT) pour avertir des variables non initialisées. Lorsque register_globals est activé, toute utilisation de variables non initialisées constitue presque toujours une vulnérabilité de sécurité.
Ce qui précède est le contenu des variables globales de sécurité PHP et de l'enregistrement. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www. .php.cn) !