Jump to content

add() objectmodel sécurisé?


Recommended Posts

Bonjour à tous,

 

j'essaye de "developper" un module dans lequel les utilisateurs pourront remplir des champs texte qui seront ajouté dans la base de donnée. En php j'utilisais des requête préparée pour empecher les injections mais là j'aurais voulu savoir si la méthode add() de la classe objectmodel se suffisait à elle-même?

 

 

Ma question est peut etre pas claire et je débute un peu sur prestashop. J'ai lu cette page http://www.prestashop.com/blog/fr/les_bonnes_pratiques_de_la_classe_db_sur_prestashop_14/ , mais la méthode add comporte déjà les requête.

 

bref j'ai été voir dans le code mais j'avoue ne pas forcément comprendre directement ce que faite cette méthode.

 

Bref, certains l'utilisent-ils? (j'ai suivi ce tuto http://www.prestarocket.com/blog/creer-module-mvc-prestashop-1-5/ très bien fait et adapté au 1.5 apparament).

 

merci d'avance.

Link to comment
Share on other sites

Pour les requêtes, utilises la classe Db. Elle possède plusieurs possibilités. Par exemple:

Db::getInstance()->ExecuteS($sql) insère un tableau multidimmensionnel

Db::getInstance()->getRow($sql) donne la première valeur...

Lis le tuto que tu donnais, il est très explicite.

Tu remplaces simplement $sql par ta requête ('insert into...' 'select...' etc...)

En plus cette classe peut être utilisée n'importe où notamment dans les modules.

Link to comment
Share on other sites

J'avais bien compris ça mais d'après le tutoriel de prestarocket, on peut créer un modele objet étendant la classe objectmodel.

et grace au tableau statique $definition, dans lequel on précise la table, il suffirait ensuite pour chaque instance de faire $monobject->add() pour l'ajouter à la table directement.

Ce n'est pas la même méthode utilisé par les anciens tuto (qui doivent encore marcher), et ça semble être une nouveauté de la 1.5.

 

Ainsi pour l'ajout je n'ai plus à utiliser la classe Db elle même.

Edited by dimb (see edit history)
Link to comment
Share on other sites

Merci dev on web, j'avais aussi remarqué ça. ma principale question était, protège t-elle des injections sql si on ajoute du texte dans la base de donnée? Pour savoir si je devais m'occuper de faire des sécurité supplémentaire ou non.

J'ai peut-être pas saisie forcément les manière de proteger les requetes vu qu'au départ en php j'utilisais simplement des requêtes paramétrése.

Edited by dimb (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...