La nouvelle version de PHP est configurée par défaut pour afficher toutes les erreurs (même les "notices" (avertissement)) et avec le paramètre "register_globals" à off.
En ce qui concerne register_globals, cela signifie que vous ne pouvez plus accéder directement aux variables de session, postées par formulaire ou même venant de la barre d'adresse. Il vous faudra passer par des tableaux "superglobaux". Voici les différent tableaux :
Pour les sessions : $_SESSION['ma_variable'] au lieu de $ma_variable
Pour la barre d'adresse : $_GET['ma_variable'] au lieu de $ma_variable
Pour les variable postées par formulaire : $_POST['ma_variable'] au lieu de $ma_variable
Pour les cookies : $_COOKIE['ma_variable'] au lieu de $ma_variable
Pour les fichiers envoyés par formulaire : $_FILES['ma_variable'] au lieu de $ma_variable
Tableau regroupant toutes les données envoyées (barre d'adresse, formulaire et cookie) : $_REQUEST['ma_variable'] au lieu de $ma_variable
Les informations de serveur : $_SERVER['ma_variable'] au lieu de $ma_variable
Les informations d'environnement : $_ENV['ma_variable'] au lieu de $ma_variable
Pour l'affichage des "notices", il est conseillé de le laisser, car il vous informe des trous de sécurité de votre code comme les variable non déclarées ou les index de tableau non définis.
Par exemple pour tester l'existence d'une variable, utiliser if(isset($variable)) plutèt que if($variable) ou if(!empty($variable)).
De même, mettez des guillemets ou apostrophes dans les index non numériques des tableaux.
Ex : $tab["index"] à la place de $tab[index]
Voilà, je rappelle qu'il faut laisser ces paramètres tels quels sous peine d'avoir un code peu sécurisé et donc plus facilement vulnérable. Même si l'application n'est pas destinée au grand public (sur le web), il ne coûte rien de prendre l'habitude de programmer "propre" pour éviter les problèmes à venir.
|