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

Requêtes MySQL Discussion :

Échappement de valeurs avec mysql_real_escape_string


Sujet :

Requêtes MySQL

  1. #21
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 99
    Points : 46
    Points
    46
    Par défaut
    Nickel

    Pour récapituler si ca peut servir à qq'un, j'ai utiliser les choses suivantes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    function quoteSmart($value)
    {
       // Stripslashes
       if (get_magic_quotes_gpc()) {
         $value = stripslashes($value);
       }
       // Protection si ce n'est pas un entier
       if (!is_numeric($value)) {
         $value = "'" . mysql_real_escape_string($value) . "'";
       }
       return $value;
    }
     
    ...
     
    //Construction de la requête 
    $query = sprintf("SELECT *  FROM `carte` WHERE `mail` = %s;", quoteSmart($email));
    $res = mysql_query($query);
     
    ...
     
    //Construction du formulaire
    <input type="text" name="nom" value="<?=$nom ?>" size="40" maxlength="30" />
    + un fichier .htaccess à la racine du site
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    php_flag magic_quotes_gpc off

  2. #22
    Expert éminent 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
    Points : 6 449
    Points
    6 449
    Par défaut
    Ca ne sera pas tout à fait résolu ton affaire. Car si dans le champ tu rentres la chaine suivante :
    Je pense que tu auras quelques surprises...

  3. #23
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 99
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par Mr N.
    Ca ne sera pas tout à fait résolu ton affaire. Car si dans le champ tu rentres la chaine suivante :
    Je pense que tu auras quelques surprises...

    j'ai rentré "chaine", il ne l'accepte pas, il me demande tout simplement de saisir à nouveau mon champ...

    Sinon, comment prendre en compte les " " ?

  4. #24
    Expert éminent 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
    Points : 6 449
    Points
    6 449
    Par défaut
    Essai de rentrer ceci :
    Qu'est-ce qui se passe ?

  5. #25
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 99
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par Mr N.
    Essai de rentrer ceci :
    Qu'est-ce qui se passe ?
    Le formulaire est validé et je rentre dans ma bdd <AVANT "CHAINE" APRES>

    Problème ou c'est bon?

  6. #26
    Expert éminent 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
    Points : 6 449
    Points
    6 449
    Par défaut
    Impeccable, mais comment tu réaffiches dans un input pour éditer la valeur par exemple ?

  7. #27
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 99
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par Mr N.
    Impeccable, mais comment tu réaffiches dans un input pour éditer la valeur par exemple ?
    Je perds une partie de la chaine...il n'affiche que <AVANT >

  8. #28
    Expert éminent 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
    Points : 6 449
    Points
    6 449
    Par défaut
    htmlentities($chaine, ENT_QUOTES) (au niveau de l'affichage dans le champ) sera ton amie

  9. #29
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 99
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par Mr N.
    htmlentities($chaine, ENT_QUOTES) sera ton amie
    hihihi
    merci mais je dois faire htmlentities à chaque <.. value="htmlentities($value, ENT_QUOTES)"> ?

  10. #30
    Expert éminent 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
    Points : 6 449
    Points
    6 449
    Par défaut
    oui
    A chaque fois que tu veux mettre une chaine dans un attribut d'un element html tu dois faire ça.

  11. #31
    Membre expert

    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 581
    Points : 3 016
    Points
    3 016
    Par défaut
    Citation Envoyé par siddh
    +1

    si tu ne peux pas le faire car sur un serveur mutualisé, sert toi de ini_set ou des directives apaches dans un htaccess
    ini_set ne servira pas à grand chose car les données sont déjà reçues au moment où ini_set sera exécuté.

    De plus, en ce qui me concerne, je conseille fortement l'utilisation de magic_quotes_gpc, ça permet d'éviter certaines infiltrations qui pourraient passer à cause de scripts pas assez rigoureux.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Pb index multi-valeurs avec DBase
    Par Rickless dans le forum Bases de données
    Réponses: 3
    Dernier message: 23/01/2006, 16h50
  2. Réponses: 8
    Dernier message: 09/03/2005, 10h47
  3. [TP] Afficher une valeur avec outtext
    Par Bouilla dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 06/03/2005, 09h57
  4. [VB.NET] [ODBC] Récupérer des valeurs avec requête ODBC?
    Par Pleymo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 04/03/2005, 16h38
  5. Retourner une valeur avec une fonction
    Par stephtbest dans le forum ASP
    Réponses: 4
    Dernier message: 31/10/2003, 16h37

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