|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : février 2008 Messages : 26 ![]() |
Bonjour,
Je post ce message dans l'espoir de recueillir des avis intéressant dans le domaines de la sécurité avec le zend framework. J'ai commencé à développé avec zend il n'y a pas si lgt et je pense que point de vue sécurité, mon code n'est pas très propre. Voici quelques points sur lesquelles je buche lorsque je code : - Lors de l'insertions dans la base de donnée, j'insère les données sous forme brute ; je fait un Code :
- Y-a-t-il moyen de créer ses propres validateurs ? par exemple, je voudrai autorisé les caractère alphanumérique, les espacement ET certains caractère spéciaux que je définirais moi-même (é,@,è,à,ê, etc.) - lors de l'affichage dans la vue, est-il possible de créer un plugin ou quelques chose dans le genre qui exécuterai un filtre sur toutes les variables que le controller passe à la vue. En fait, j'ai découvert récemment que dans la vue, il suffisait de faire pour appliqué un filtre htmlentities... le problème c'est que le code chez moi est déja fait et cela me prendrai des heures à tout changer...n'y a-t-il pas moyen de généralisé cela ? j'ai essayer en faisant un dans mon layout principale mais à ce moment, même les tableaux sont filtré et j'ai les balises afficher sous forme de caractère html :s... voila, j'espère que ce post sera riche en avis et renseignement qui pourront par la même aider beaucoup de personne paumée comme moi sur le net |
||
|
|
00
|
|
|
#2 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Salut
Non, tu ne peux pas faire de plugin pour la vue car toutes les variables ne sont pas échappées de la même manière. Par exemple, si tu construis une URL avec des paramètres, il ne faut pas appeler $this->escape() sur ces variables. Concernant la protection des variables, Zend_Db s'occupe tout seul de la protection de la BDD. Si tu utilises des formulaires, tu devrais utiliser des validateurs et des filtres sur chacun des champs, ce qui apporte un niveau supplémentaire de sécurité
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : février 2008 Messages : 26 ![]() |
Re bonjour et merci pour ta réponse rapide.
En fait, je trouve également que les validateurs sont très utile mais malheureusement, je trouve que certains validateurs sont manquant... par exemple, je trouve bien pratique les validateur de type alphanumérique(avec espacement) dans le nom, prénom(limite) ; les types inarray dans les champ select ou multicheckbox, les type régex pour les champs spéciaux comme le numéro de téléphone, date etc. mais ce que je trouve dommage c'est qu'il n'y a pas vraiment de validateur pour les champs text, description, ou certains caractère devraient être autorisé et d'autres pas... c'est pourquoi j'en reviens à demander finalement si il n'y a pas moyen de créer sont propre validateur ou on pourrait refuser les caractère comme <, >, \, etc et accepter les caractère alphanumérique, espacement, é, è, à, etc... ps : pour les filtre, est-il préférable de faire un html entities avant l'insértion dans la base de donéne ou lors de l'affichage ? Merci de vos réponses |
|
|
00
|
|
|
#4 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Bien sûr que tu peux faire ton propre validateur, d'ailleurs il me semble que c'est expliqué dans la doc.
Concernant le moment d'appeler htmlentities, je te suggère de faire une recherche sur nos forums car la question a été posée une paire de fois...
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#5 | ||
|
Invité régulier
![]() Inscription : février 2008 Messages : 26 ![]() |
yop
salut, c'est vrai que j'ai chercher un peu et en fait yavai pas de quoi en fait tout un plat lol je me rend compte que c'était un post un peu facile sorry :s pour me faire pardonner voila le petit bout de code que j'ai fait sur le validateur, ca vole pas très haut mais bon, ca pourrat ptête aider des gens merci encore et a ++ Code :
|
||
|
|
00
|
|
|
#6 | |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Citation:
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : février 2008 Messages : 26 ![]() |
ah heuu ok lol merci pour le tuyau
Code :
$valueF = preg_replace('/[^- a-z A-Z 0-9 , é è ç à ù â ê î ô û ä ë ï ö ü _ \s]/', '', $value); |
|
|
00
|
|
|
#8 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
La même sans les espaces, ce sera tout aussi efficace mais sans doute plus facile à lire
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com