La suite du monde magique de PHP 6

Bonjour à tous,

Une suite au sujet précédent puisque cet article va également porter sur PHP 6, autrement dit la future version de PHP qui, même si elle est actuellement très retardée, verra bien le jour. Celle-ci, comme vous l’avez déjà vu avec l’abandon des fonctions ereg(), va aller encore plus loin.

En effet, les register_globals ne seront plus supportées, sans possibilité de les activer. De toute façon, vous ne deviez pas les utiliser. Mais si c’était le cas, il vous faut maintenant revérifier vos scripts. Pour vous donner une idée de ce qu’est le register_globals, on va prendre un exemple tout simple. Vous êtes sur la page « index.php?action=1 ». Pour récupérer la valeur « 1 » de « action », vous utilisiez juste $action (par exemple). Ceci ne marchera donc plus : il vous faudra mettre « $action = $_GET[‘action’]; » pour pouvoir récupérer cette valeur. C’est bien sûr la même chose si cela avait concerné l’envoi d’un formulaire : dans ce cas, il aurait fallu récupérer la valeur par « $_POST[‘action’]; ».

Si vous utilisiez encore les Register Long Arrays, vous allez encore devoir vérifier vos scripts. Ainsi, au lieu d’utiliser $_HTTP_POST_VARS ou $_HTTP_GET_VARS, vous devrez maintenant utiliser les superglobales $_GET et $_POST. Ce ne sont que deux exemples et vous pouvez en voir d’autres sur le site php.net.

Enfin, le mode magic_quotes va disparaitre. Pour ceux qui ne connaissent pas, magic_quotes (ou guillemets magiques) échappe automatiquement les guillemets simples, guillemets doubles, backslashes et les caractères NULL. Autant dire que si vous avez des formulaires qui effectuent des traitements via une base de données, vos scripts doivent être vérifiés, autrement ce sera la porte ouverte aux failles de sécurité. Nous ferons un article détaillé prochainement à ce sujet pour vous expliquer la cause et les solutions possibles à apporter à ce problème.

A bientôt. :)

Les commentaires sont fermés pour cet article.