Les joies du 'register_globals' sur OFF
vendredi 27 décembre 2002 :: perrick :: PHP :: un commentaire :: aucun trackbackDepuis quelques temps déjà - PHP version 4.2.1 il me semble - une $valeur_dans_formulaire n'est plus accessible directement dans un script PHP. Il faut passer par $HTTP_GET_VARS['valeur_dans_formulaire'] ou bien par $HTTP_POST_VARS['valeur_dans_formulaire'], suivant l'action dans le code HTML.
Depuis ce temps donc, openTIME suit scrupuleusement ces recommandations.
Sauf que je viens d'installer pour la première fois une version d'openTIME sur un serveur avec la version 4.3.0RC3 avec register_globals à OFF (je sais que la version RC4 est sorti depuis mais que voulez-vous...) et que j'ai *redécouvert* que dans les register_globals, il n'y avait pas que les variables POST et GET. Il y a aussi les variables SESSION et SERVER !
Donc adieu à $HTTP_X_FORWARDED_FOR et autre session_register(). Et bienvenu à $HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR'] & $HTTP_SESSION_VARS[''].
Certains préfèrent mettre en place des hacks pour que ça puisse continuer à tourner sans problème. Ici à No Parking, on préfère un peu de refactoring pendant les fêtes.