MySQL_Real_Escape_String [Résolu]

cs_wizad 356 Messages postés samedi 30 octobre 2004Date d'inscription 14 avril 2009 Dernière intervention - 9 mai 2006 à 14:55 - Dernière réponse : MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention
- 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.
Afficher la suite 

8 réponses

Répondre au sujet
cs_wizad 356 Messages postés samedi 30 octobre 2004Date d'inscription 14 avril 2009 Dernière intervention - 9 mai 2006 à 15:34
+3
Utile
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("'", "\\'");
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_wizad
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 9 mai 2006 à 15:03
0
Utile
Salut,

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



Mx
MVP C#
Commenter la réponse de MorpionMx
cs_wizad 356 Messages postés samedi 30 octobre 2004Date d'inscription 14 avril 2009 Dernière intervention - 9 mai 2006 à 15:15
0
Utile
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à.
Commenter la réponse de cs_wizad
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 9 mai 2006 à 15:25
0
Utile
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#
Commenter la réponse de MorpionMx
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 9 mai 2006 à 15:32
0
Utile
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#
Commenter la réponse de MorpionMx
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 9 mai 2006 à 15:40
0
Utile
J'ai juste fait un copier coller de ton code en mettant rue = , sans vérifier le reste ^^



Mx
MVP C#
Commenter la réponse de MorpionMx
cs_wizad 356 Messages postés samedi 30 octobre 2004Date d'inscription 14 avril 2009 Dernière intervention - 9 mai 2006 à 15:44
0
Utile
je m'en doute bien ^^ (je t'ai send un mp aussi suite à un pb de printpreviewcontrol qui reste noir...)
Commenter la réponse de cs_wizad
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 9 mai 2006 à 15:48
0
Utile
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#
Commenter la réponse de MorpionMx

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.