Modérateur PHPfrance |
10684 Messages
04 août 2007, 17:39
Les "dangers" si on peut vraiment les nommer ainsi, viennent du fait que tout un tas de choses paramétrables sur le serveur vont disparaitres et seront entièrement à la charge du développeur. Cela assurera nottament la compatibilité d'un script quelque soit le serveur où il est déployé sans avoir à aller bidouiller le .ini du serveur (et ajouter des failles de sécurité), et obligera également à plus de sécurité dans le code
Les magic_quotes_gpc sont une fonctionnalité de php qui protège (lorsqu'elles sont activés) automatiquement les apostrophes et guillemets sur toutes les données reçues en GET et POST, principallement afin de pouvoir les insérer directement dans ta base de données. En gros, c'est comme si php faisait un addslashes() sur chaque variable envoyée : "L'Apostrophe" devient ainsi "L\'apostrophe" et tu peux l'utiliser dans ta requête sans te soucier de savoir si une apostrophe ne va pas risquer de mal délimiter ta chaine

(Pour rappel, en sql, on délimite les chaines de caractères avec des apostrophes, donc forcément, s'il en trouve une au milieu qui n'est pas protéger, il va penser que c'est la fin de la chaine)
Bref, tout ça pour dire que si cette directive saute, tous les scripts devront eux même faire le addslashes() sur les variables.
Dans le même genre, la directive register_globals (qui te permet d'utiliser $variable pour n'importe quelle donnée "variable" passée en post, en get, en cookie ou en session) va être fixée à off et disparaitre obligeant les gens à faire appel à $_POST['variable'] pour récupérer une variable envoyée en post, $_GET['variable'] si elle est envoyée en get, etc.
HTH

Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...