IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

SQL Injection et slash


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 24
    Par défaut SQL Injection et slash
    Bonjour,

    Suite à de nombreuses lectures sur les attaques SQL par injection, j'ai decidé de rajouter autour de mes variables la fonction mysql_real_escape_string sur mes $_POST.

    Le problème maintenant c'est que lorsque je poste via un form le mot suivant:
    L'école
    ca affiche L\'école

    Que dois je faire pour ne plus faire apparaitre ces slashs ? Y'a t-il une fonction (stripslashes ? adsslahes ?) sans que cela annule ma protection mysql_real_escape_string.

    Merci pour vos réponses.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il faut utiliser mysql_real_escape_string() uniquement sur la création de ta requete, pas lorsque tu affiches les données.

    Si tu travailles sur un serveur qui utilise les magic quotes, les anti-slashes sont déjà ajoutés sur les POST, donc mysql_real_escape_string() les double. Tu te retrouve donc avec un \ de trop.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 24
    Par défaut ok
    Mes magic quotes sont pourtant en off sur mon serveur...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    On est donc dans le premier cas.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 24
    Par défaut
    Ma fonction mysql_real_escape_string est uniquement appliqué lors de la création de la requete.

    Si je rajoute stripslashes à l'affichage de la variable, ça supprime bien le \ en trop. Dans la bdd c'est bien enregistré avec les slash.
    Est ce que cela vous semble ok ?

    Par contre pour les textarea, lorsque je fais un saut de ligne et que j'envoi mes données, ca me rajoute \r \n. Tout ça est bien compliqué.. J'avoue que là j'ai du mal à trouver réponse à mes questions.

    Merci pour votre aide.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ce n'est pas compliqué et tu as toi même la réponse a tes questions a portée de echo.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $_POST['variable'];
    En le placant aux differents points de ton script, tu verras bien a quel moment tu passes de L'école à L\'école puis à L\\'école
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Protection contre les SQL Injections ?
    Par kedare dans le forum JDBC
    Réponses: 9
    Dernier message: 05/05/2010, 10h42
  2. [.NET 2.0] Contrer les SQL Injections
    Par bizet dans le forum ASP.NET
    Réponses: 2
    Dernier message: 24/08/2007, 11h37
  3. Comment me protéger contre les "SQL Injection" ?
    Par khokho dans le forum Struts 1
    Réponses: 4
    Dernier message: 10/07/2007, 18h42
  4. [SQL] Interprétation des slashes
    Par Anduriel dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 18/01/2007, 19h45
  5. SQL injection, stored procedures
    Par badjoe dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 03/08/2006, 12h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo