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] strpos contre injection sql


Sujet :

PHP & Base de données

  1. #1
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 931
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 931
    Par défaut [SQL] strpos contre injection sql
    Bonjour,
    j'aimerais sécurisé chaque champs d mon formualire en testant pour chaque champs la présence des caractères suivants : /%*#"' (j'en ai peut-être oublié...
    n'hésitez pas à me le dire...)

    je pense (mais je ne suis pas sûr) qu'il faut utiliser la fonction strpos.
    Si vous pouviez me conseiller.
    D'abord est-ce la bonne méthode?
    et peut-on tester cela en une seule commande ou bien faut-il faire un strpos pour chaque caractère (un pour /, un pour % etc...)
    Cette fonction est-elle efficace opur un champs numérique?

    merci d'avance pour votre aide.

  2. #2
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Si tu veux préparer tes données en vue d'une insertion en base SQL il y a des fonctions pour ça (addslashes & co, cf la doc.).

  3. #3
    Invité
    Invité(e)
    Par défaut
    utilise des expressions regulieres, avec les addslashes avant dinserer etc

  4. #4
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Tu as des fonctions toutes faites pour ça, comme mysql_real_escape_string

  5. #5
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 931
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 931
    Par défaut
    Mais les injections mysql ne se font uniquement lorsque dans la requête, on fait allusion à un password?

    cela veut dire ma requête suivante par exemple ne peut pas avoir d'injection :

    $sql = "insert into lldiffusion_clients(mail,pseudo,nom,prenom,mdp,ad_ligne1,ad_ligne2,ad_ville,civilite,telephone,ad_cp,ad_ip,nomf,prenomf,ad_ligne1f,ad_ligne2f,ad_cpf,ad_villef) values('$mail','$pseudo','$nom','$prenom','$mdp','$ad_ligne1','$ad_ligne2','$ad_ville','$civilite','$telephone','$ad_cp','$ip_en_cours','$nomf','$prenomf','$ad_ligne1f','$ad_ligne2f','$ad_cpf','$ad_villef')";
    $req = mysql_query($sql);// or die('Erreur SQL : <br />'.$sql);

    ou encore celle-ci :

    $sql = 'SELECT id,marque,designation,categorie,resume_court,prix_ttc,disponibilite FROM lldiffusion_produit WHERE resume_long LIKE "'.$pa.'" OR designation LIKE "'.$pa.'"';

  6. #6
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Rien compris là par contre

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par sam01
    Mais les injections mysql ne se font uniquement lorsque dans la requête, on fait allusion à un password?
    NON!!!, les injections se font du moment ou tu inseres/update/select/delete etc dans ta base des données .
    1.Par exemple tu demandes a un utilisateur de laisser un avis sur un article que tu inseres ensuite dans ta base.
    2. un utilisateur qui change ces infos
    (a cherchant sur le net, tu trouveras dautres exemples)


    Il faut meme prendre lhabitude de faire des addslshes pour tt insertion (meme celle qui te semblent inutiles) , c'est une bonne habitude à prendre

  8. #8
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par rbaatouc
    inseres/update/select/delete
    T'as fait ton edit juste à temps... Je t'aurai la prochaine fois !

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Eusebius
    T'as fait ton edit juste à temps... Je t'aurai la prochaine fois !
    pas assez rapide petit scarabet (je crois que c dans kungfu)

Discussions similaires

  1. [PHP 5.4] protection contre injection sql et xss
    Par sinifer dans le forum Langage
    Réponses: 8
    Dernier message: 07/05/2013, 18h31
  2. Protection contre les SQL Injections ?
    Par kedare dans le forum JDBC
    Réponses: 9
    Dernier message: 05/05/2010, 10h42
  3. Se protéger contre le SQL injection
    Par ikaly29 dans le forum ASP
    Réponses: 20
    Dernier message: 23/06/2008, 21h21
  4. Comment me protéger contre les "SQL Injection" ?
    Par khokho dans le forum Struts 1
    Réponses: 4
    Dernier message: 10/07/2007, 18h42
  5. Lutter contre les injections SQL
    Par EvilAngel dans le forum ASP
    Réponses: 4
    Dernier message: 15/06/2006, 17h27

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