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 :

Injections SQL, questions [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2008
    Messages : 112
    Par défaut Injections SQL, questions
    Bonjour,

    J’aurais quelques questions concernant la sécurité de mon site.

    Désolé d’avance si le message est un peu long, j'espère que ça ne vous découragera pas de m’aider.

    J’ai pris l’habitude de mettre mysql_real_escape_string sur toutes les données entrantes dans ma base de donnée.

    Prenons exemple d’une table contenu toute simple avec 3 champs : ID|TITRE|TEXTE

    Pour mon champ TEXTE j’utilise un WYSIWYG (TinyMce), j’ai remarqué que tous les accents, les guillemets étaient convertis en entités html :

    Exemple : l’étau devient dans ma base de donnée : L’ étau

    Comment ça se passe si je veux maintenant créer un formulaire de recherche qui recherche à la fois sur les champs TEXTE et TITRE.

    En cherchant et essayant toutes sortes de combinaisons pour que ma recherche fonctionne comme il faut sur le champ TEXTE, j'ai remarqué qu'il fallait passer ma variable comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    htmlentities($_POST["recherche"])
    Exemple de ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM contenu WHERE TITRE LIKE "%'. mysql_real_escape_string ($_POST["recherche"]).'%" OR TEXTE LIKE "%'. htmlentities($_POST["recherche"]).'%")
    Du coup j’ai l’impression que je suis vulnérable aux injections SQL avec htmlentities($_POST["txt_recherche"])

    Je suis un peu perdu, et comme c’est un sujet relativement sensible, un peu d’aide serait la bienvenue !

    D’avance un grand merci !

  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
    Tu peux coupler les fonctions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_real_escape_string(htmlentities($_POST["recherche"]))
    Pour le fond, tu dois pouvoir configurer tinymce pour qu'il ne convertisse pas les données.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2008
    Messages : 112
    Par défaut
    Merci beaucoup sabotage pour ta réponse

    C'était tout bête en fait, comme souvent on cherche a faire compliqué alors qu'on peut faire simple

    Bonne journée à toi et meilleures salutations

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/02/2006, 11h34
  2. Réponses: 20
    Dernier message: 03/02/2006, 10h55
  3. Réponses: 10
    Dernier message: 25/10/2005, 16h09
  4. [PL/SQL] question sur interval
    Par Michael# dans le forum Oracle
    Réponses: 9
    Dernier message: 01/09/2005, 10h54
  5. [SQL]Questions sur les contraintes ?
    Par patmaba dans le forum Oracle
    Réponses: 3
    Dernier message: 24/02/2005, 15h12

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