Register Globals OFFDans le cadre de notre plan de sécurité 2006, nous avons mis Register Globals OFF dans les php.ini de tous les serveurs. Le problème du
Register Globals On ou Off a été longuement discuté ces dernières années par la communauté PHP et depuis assez longtemps, la question a été tranchée en faveur du OFF.
Tous les CMS, forums, scripts... actuels fonctionnent normalement avec le Off. Si un site vous pose problème, c'est qu'il n'a pas été mis à jour depuis des années. Une mise à jour suffit pour retrouver le fonctionnement normal. Pour les scripts personnels, il devient nécessaire de
déclarer les variables.
Quelques infos:PHP est un language qui n'exige pas de déclarer les variables avant de les utiliser. On peut, à n'importe quel moment, inventer une nouvelle variable et l'utiliser dans uns script sans plus de formalités. Ceci simplifie la programmation et a été une pratique courrante pendant des années.
Malheureusement, ceci a posé pas mal de problèmes de sécurité. Les variables n'étant pas protégées, il devient facile de les modifier ou d'en créer de nouvelles par un simple URL. Par exemple, vous avez un site avec un accès restreint et une variable access=1 ou access=0 qui ouvre ou ferme l'accès à un utilisateur donné. Dans le cadre d'un environnement avec Register Globals ON et une écriture pas très attentive, il devient très facile à une personne mal intentionnée de changer la valeur de la variable de 0 à 1 et d'obtenir des droits d'accès sans même passer par une page de login.
Ceci peut aller plus loin et vous avez d'anciens scripts qui ont des variables du genre admin=0 ou admin=1 !
Nous avons visité beaucoup de sites hébergés et nous ne pensons pas sincèrement que ce changement posera problème aux webmasters. Le plus important est que la sécurité fera un pas en avant et il sera bien plus difficile d'avoir un accès non autorisé à vos sites et informations.
Merci de reporter des problèmes si jamais vous en constatez.