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

Zend_Db PHP Discussion :

Méthode save() et échappement


Sujet :

Zend_Db PHP

  1. #1
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut Méthode save() et échappement
    Bonjour à tous,
    Je n'ai pas reussi à trouve rde réponse dans la doc du framework donc je me tourne vers vous

    LA méthode save() de Zend_db_table échappe t'elle les paramètres sauvegardé ou faut il les échapper manuellement ?

    En gros :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $user = $tuser->find($session->id)->current();
    $user->login = $login;
    $user->save();
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $user = $tuser->find($session->id)->current();
    $user->login = $sql->quote(htmlentities($login,ENT_QUOTE));
    $user->save();
    Merci
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 178
    Points : 230
    Points
    230
    Par défaut
    Hello,

    De ce que j'en sais, Zend_Db_Table_Row ne va pas faire le type d'échappement que tu décris dans ton 2ème cas.
    C'est un choix personnel de vouloir "htmlentitiser" les données dans ta base. Perso je trouve ça dommage ca ça spécialise tes datas.

    Normalement :
    1 - Tu filtres/valides les datas avant de les passer à la base
    2 - Tu échappes ces datas en provenance de la base suivant l'endroit ou tu veux les afficher.

    Par exemple, si tu propose un champ d'édition avant de la mise en forme HTML tu ne voudras pas forcément sur-encoder le html à l'affichage, et si tu veux l'enlever tu fera plutôt un striptags. Mais tout ceci tu ne le sais qu'au moment et à l'endroit ou tu veux afficher les données et pas au moment ou tu les enregistre.

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    On est d'accord pour le htmlentities qui n'a rien à faire à l'enregistrement.
    Je parlais en fait surtout du quote() et de l'échappement des caractères contre les injection sql.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 178
    Points : 230
    Points
    230
    Par défaut
    Ha, ok.

    Dans ce cas ce qui se passe au save est au final un appel à un statement lié à l'adapter que tu utilises.

    Dans mon cas par exemple c'est du PDO, et donc dans ce cas c'est le pilote PDO qui traite les valeurs pour ne pas permettre les injections.

    voir ici

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

Discussions similaires

  1. [1.x] surcharger la méthode save() de la classe du modèle
    Par Mich972 dans le forum Symfony
    Réponses: 2
    Dernier message: 23/08/2010, 17h26
  2. Méthode Save as
    Par johannj dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/08/2010, 15h27
  3. [ZF 1.9] Méthode save de Zend_Db_Table_Row avec une date
    Par playmobilette dans le forum Zend_Db
    Réponses: 1
    Dernier message: 03/12/2009, 12h21
  4. [PDO] Méthode prepare() et échappement des caractères spéciaux
    Par {Anthony} dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/01/2008, 14h19
  5. [Hibernate] question que la méthode Save ()
    Par Wyfrel dans le forum Hibernate
    Réponses: 2
    Dernier message: 17/10/2007, 00h38

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