Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
bonjour quand je fais des enregistrements dans ma BDD j'utilise des requêtes
style
//pour créer un enregistrement vide $table->createRow(); //ensuite dès que les données sont bien remplies j'utilise $table->setFromArray($donnees); //et pour finir save();
je voulais savoir, si ceci est une requête sécurisée (c-a-d évite les injections sql ...) où
faut il que j'utilise des requêtes préparées ?
Hors ligne
personnellement, je n'ai eu aucun souci d'injection. D'un mes formulairent échapent tout ce que je eux pas, et de deux, si je ne me trompe pas, zend fait un prepare statement en arrière plan
Hors ligne
Donc ça ne sert à rien que je surcharge la méthode setFromArray de Zend db table abstract
//on surcharge la classe setFromArray public function setFromArrray($data) { $data = $this->securite($data); //on appelle le parent parent::setFromArray($data); } //méthode permettant de sécuriser de tous les champs d'un tableau private function securite($data) { //on sécurise tous les champs foreach($data as $id => $value) { if(is_array($value)) $data[$id]=$this->securite($data[$id]); else $data[$id]= mysqli_real_escape_string($value); } //on retourne le tableau return $data; }
et merci pour ta réponse ^^et un statement c'est quoi parce que j'ai vu ça hier mais sans trop comprendre ? ^^
Hors ligne
d'après ce que j'ai compris, c'est un bloc d'instructions, mais certaines sont interdites.
D'après des tests, seul les select, update et delete sont acceptés dedans. je pense dire une connerie donc que quelqu'un me corrige
Hors ligne