84mickael Posté 2 Février 2006 Partager Posté 2 Février 2006 Salut... Je me pose une petite question à propos de la protection des caractères spéciaux SQL dans une requête. Il existe la fonction mysql_real_escape_string, mais je me demande s'il est nécessaire de l'utiliser dans mon cas, et si oui, quand l'utiliser. Voilà comment je code mes données avant de faire une requête : function code($txt){ $txt=trim($txt); $txt=htmlspecialchars($txt,ENT_QUOTES); $txt=purge_iso88591($txt); return $txt;}function purge_iso88591($txt){ $cp1252=array ( "\x80"=>'€', // EURO SIGN "\x82"=>'‚', // SINGLE LOW-9 QUOTATION MARK "\x83"=>'ƒ', // LATIN SMALL LETTER F WITH HOOK "\x84"=>'„', // DOUBLE LOW-9 QUOTATION MARK "\x85"=>'…', // HORIZONTAL ELLIPSIS "\x86"=>'†', // DAGGER "\x87"=>'‡', // DOUBLE DAGGER "\x88"=>'ˆ', // MODIFIER LETTER CIRCUMFLEX ACCENT "\x89"=>'‰', // PER MILLE SIGN "\x8a"=>'Š', // LATIN CAPITAL LETTER S WITH CARON "\x8b"=>'‹', // SINGLE LEFT-POINTING ANGLE QUOTATION "\x8c"=>'Œ', // LATIN CAPITAL LIGATURE OE "\x8e"=>'Ž', // LATIN CAPITAL LETTER Z WITH CARON "\x91"=>'‘', // LEFT SINGLE QUOTATION MARK "\x92"=>'’', // RIGHT SINGLE QUOTATION MARK "\x93"=>'“', // LEFT DOUBLE QUOTATION MARK "\x94"=>'”', // RIGHT DOUBLE QUOTATION MARK "\x95"=>'•', // BULLET "\x96"=>'–', // EN DASH "\x97"=>'—', // EM DASH "\x98"=>'˜', // SMALL TILDE "\x99"=>'™', // TRADE MARK SIGN "\x9a"=>'š', // LATIN SMALL LETTER S WITH CARON "\x9b"=>'›', // SINGLE RIGHT-POINTING ANGLE QUOTATION "\x9c"=>'œ', // LATIN SMALL LIGATURE OE "\x9e"=>'ž', // LATIN SMALL LETTER Z WITH CARON "\x9f"=>'Ÿ' // LATIN CAPITAL LETTER Y WITH DIAERESIS ); return strtr($txt,$cp1252);} Pensez-vous qu'après ce traîtement, la fonction mysql_real_escape_string soit encore utile ? Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
petit-ourson Posté 2 Février 2006 Partager Posté 2 Février 2006 Euh, tu fais tes insertion où ? Il faut l'utiliser au moment des insertions ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
84mickael Posté 2 Février 2006 Auteur Partager Posté 2 Février 2006 (modifié) Euh, tu fais tes insertion où ? Il faut l'utiliser au moment des insertions ... <{POST_SNAPBACK}> Pour chaque champ saisi dans un formulaire (par exemple), soit je récupère sa valeur entière (intval), soit je l'encode avec ma fonction code. Modifié 2 Février 2006 par 84mickael Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant