Sécuriser un code pourri.
À 22:14 dans la rubrique PHP / PEAR
←
/ #497
/ rss
/ →
On voit de plus plus de règles particulières pour sécuriser un code. Des bons conseils ou bonnes pratiques mais qui demandent un travail énorme.
Il y a 2 ans, Claroline commençait à être la cible de pirates. Il fallait faire quelque chose.
Bien sûr tout changer d'un coup allait prendre du temps. Plus un code est chaotique plus la tâche est ardue.
Voilà quelques recettes pour retravailler le code.
Tâche 1 : register_global à off
Premier boulot de fou.
Si le code à été écrit pour un register_global ON il faut fouiller le code pour trouver les variables utilisées "en espérant" qu'elles ont été initialisées par register_global.
On va les traquer et les remplacer par des $_REQUEST.
Pourquoi $_REQUEST ? il y a $_POST, $_GET, $_COOKIES ... dans tout les cas ces valeurs sont suspectes autant utiliser $_REQUEST qui vous donnera celle qui gagne selon les règles de priorité que vous aviez pour le register global. Note : Tout le monde n'est pas de cet avis. L'argument des autres est qu'il faut aussi maîtriser d'où vient l'information. Pour moi elle ne vient que d'un endroit, un endroit douteux.
Un truc pourri c'est d'utiliser un extract de $GLOBALS mais ce qui n'est que contourner le problème.
Pire c'est masquer le problème.
Une solution pour travailler en transition c'est de mettre le serveur en register global à off et à la racine un .htaccess qui dit register global à on.
là on a rien corrigé. mais on peut commencer et progressivement modifier le htaccès pour faire porter le global ON au de moins en moins de script jusqu'a en avoir fini avec lui.








Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire