En fait, si, j'ai bien compris que le magic_quote c'est pas cool et qu'il faut la désactiver et toujours saisir mysql_real_escape_string() dans une requète.
Le problème c'est que j'ai trop peu de temps, dans mes taches de stages ne figurait pas ces soucis de BDD que j'ai découvert et je suis déjà depuis quelques jour sur cet imprévu.
Donc en fait le problème c'est que TOUTES les pages .php qui utilisent la base ( c'est a dire a vu de nez 200 voir 300 ) pour la consulter, ont tenu compte du magic_quote.
Et donc y a des centaines et des centaines de requêtes qui ce balade sous cette forme
$query = "SELECT * FROM table WHERE champ1 = '".htmlentities($variable1)."' AND champ2 = '".htmlentities($variable2)."'";
J'ai donc deux solutions, soit je désactive le magic_quote et je fais
$query = "INSERT INTO* table VALUES(mysql_real_escape_string($variable)
mais en désactivant le magic_quote, les centaines de requêtes de type
$query = "SELECT * FROM table WHERE champ1 = '".htmlentities($variable1)."' AND champ2 = '".htmlentities($variable2)."'";
vont créer des failles et surtout les recherches avec apostrophe ne fonctionneront pu. Je dois donc toutes les modifiers ce qui réprésente un assez long boulot quand même.
Deuxième solution, celle que j'ai choisis, qui n'ai pas la bonne, "l'ânerie" mais je n'ai pas trop le choix ... Laisser le magic_quote pour juste avoir a changer les modules d'insertion dans la base ( là y en a que 10 ça va vite )
$query = "INSERT INTO* table VALUES(mysql_real_escape_string(stripslashes($variable))
Après perso ça m'emmerde de faire du rafistolage, j'aime quand les choses sont bien faite, ça n'en tiendrai qu'a moi je changerais tout, je mettrai tout en PDO au passage d'ailleurs. Mais si j'explique au maitre de stage que je dois passer la fin de mon stage a améliorer la qualité du code ... lui tant que ça marche pour l'utilisateur ça lui va il est pas informaticien ...
Si j'ai tout finit et que j'ai une semaine je m'attaquerai a ce chantier, sinon tant pis je laisserai une note a la fin du stage pour que le prochain stagiaire est comme thème de stage de refaire toutes les requêtes pour qu'elles soit sécurisés et prète pour faire la transition de mysql a PDO.
Sinon, comme solution intermédiaire entre l’ânerie et la bonne solution je vais prendre ta solution de la fonction qui vérifie le magic_quote au moins pour les 10 modules d'insertion, ça sera déjà ça.
Mais tu penses qu'un jour OVH forcera le passage en 5.4 ?
PS : Sinon j'ai un nouveau problème mais je vais peux être ouvrir un nouveau sujet xD
Partager