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 :

Moteur de recherche


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Par défaut Moteur de recherche
    Hello all,

    J'ai fait un bête moteur de recherche pour retournée des infos depuis une DB.

    J'utilise pour alimenter ma DB.

    et pour retournée le résultat sans les /

    Le problème, si je fais une recherche suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $keyword  = addslashes($_POST['keyword']);
    et que je l'intègre dans ma requete SQL : Rien ne m'est retourné...

    Les mots sans les " ' " fonctionnent.

    Quelqu'un peut-il m'aider?

    Merci.

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Citation Envoyé par Sayrus
    et pour retournée le résultat sans les /
    BUZZZZ! Il y a un problème dans ta configuration.
    Tu ne devrais pas avoir à utiliser stripslashes au sortir de la bd. Si c'est le cas alors tu as un soucis avec les magic_quotes.

    Si tu peux désactiver magic_quotes_gpc dans ton php.ini alors fais le.
    Sinon (et c'est la plus sage des solutions de manière générale) fais en sorte que ton code ne soit pas dépendant de la configuration du serveur.
    Ainsi :
    - tu testes si magic quotes est activé grâce à get_magic_quotes_gpc()
    - si oui tu annule l'effet magic_quotes grâce à stripslashes() (attention aux requetes qui contiennent des tableaux, l'annulation est alors à faire récursivement)
    - quand tu insères une donnée tu utilises mysql_real_escape_string()
    - quand tu cherches une données, tu utilises mysql_real_escape_string()
    - quand tu récupères une données, tu n'as rien à faire.

  3. #3
    Membre éclairé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Par défaut
    Je vais tester ça,

    un grand merci

    Ha oui magic quote OFF

    j'utilisais donc addslashes et stripslashes pour insérer et récupérer.

    Donc pour récupérer je ne fais rien, et pour enregistrer dans la bd j'utilise mysql_real_escape_string()

    et ceci évitera d'office les injections sql c'est bien çà?

  4. #4
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    oui. Les données contenues dans la base doivent dans la plupart des situations être "naturelles" (aka comme-l'utilisateur-a-tapé)
    addslashes/mysql_real_escape_string s'occupe seulement de construire une bonne requete, pas de modifier les données. A partir du moment ou on doit annuler l'effet de addslashes/mysql_real_escape_string en sortie, c'est qu'on a fait deux fois le boulot : une fois par manuellement et une fois automatiquement par magic_quotes

    A savoir que magic_quotes_gpc sera a priori désactivé (supprimé?) par défaut dans php6

  5. #5
    Membre éclairé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Par défaut
    Ok merci pour ces quelques précisions

    Bonne journée.

Discussions similaires

  1. [Info]moteur de recherche full text en environnement j2ee
    Par ddams dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 03/11/2004, 19h39
  2. comment faire ma base de donnée pour un moteur de recherche
    Par HoB dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 04/05/2004, 15h07
  3. Moteur de recherche par date
    Par Prue dans le forum ASP
    Réponses: 17
    Dernier message: 27/08/2003, 16h07
  4. [Technique] Index, comment font les moteurs de recherche ?
    Par bat dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 25/10/2002, 15h41

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