MySQL_Real_Escape_String

Résolu
cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009 - 9 mai 2006 à 14:55
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 - 9 mai 2006 à 15:48
Bonjour,
Je développe actuelement une application de gestion d'inscription basé sur mysql. En php nous disposons d'une fonction mysql_real_escape_string() qui nous permet d'échapper certain caractère dans les données saisie par l'utilisateur afin d'éviter tous problèmes notamment au niveau des injection sql. J'aurais donc voulu savoir si un tel système était disponible en C#. Je cherche surtout pour échapper les apostrophes.

Merci d'avance.

8 réponses

cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009
9 mai 2006 à 15:34
j'avais oublié ce détail... même si tu as toi aussi une petite erreur :
\' correspond à l'échapement de ' pour le C# lui même, pour conserver l'antislash à destination de mysql il faut :
rue = rue.Replace("'", "\\'");
3
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
9 mai 2006 à 15:03
Salut,

Je t'invite a lire les 2 articles cités par coq dans ce post



Mx
MVP C#
0
cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009
9 mai 2006 à 15:15
Je refuse déja certain caractère et certain mot clé... il me reste simplement à parsé le guillemet simple (ou apostrophe) en fait.

Jai bien essayé ceci :
string rue = "10 rue l'ecuyer";
rue.replace("'", "\'");

Mais quand j'affiche 'pour controle la chaine rue, elle contient l'apostrophe sans le caractère d'échapement... Quelqu'un sait pourquoi?

J'ai bien regardé les 3 articles mais cela me semble lourd pour parser simplement un apostrophe par ci par là.
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
9 mai 2006 à 15:25
En C#, la classe string est immuable, et la Méthode Replace te permet de recuperer une nouvelle instance de ta string avec les modifications.

rue = rue.Replace("'", "\'");



Mx
MVP C#
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
9 mai 2006 à 15:32
Mais en utilisant les requetes parametrees, normalement il n'y a pas de probleme avec tes '
Et les requetes paramétrées sont faites pour eviter les injections



Mx
MVP C#
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
9 mai 2006 à 15:40
J'ai juste fait un copier coller de ton code en mettant rue = , sans vérifier le reste ^^



Mx
MVP C#
0
cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009
9 mai 2006 à 15:44
je m'en doute bien ^^ (je t'ai send un mp aussi suite à un pb de printpreviewcontrol qui reste noir...)
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
9 mai 2006 à 15:48
Pose ta question ici, ou recrées un message dans le forum, pour qu'elle puis profiter a tout le monde ;) (et aussi avoir plus d'aide )



Mx
MVP C#
0
Rejoignez-nous