Article complet: Traquez les variables de vues ZF non echappées avec bytekit

04/01/2010

Permalink 16:05:07, Catégories: php, Zend Framework, 209 mots   French (FR) , julien pauli

Traquez les variables de vues ZF non echappées avec bytekit

Sebastien Bergmann a eu la bonne idée d'ajouter une règle "ZendView" à son outil bytekit-cli (que j'ai déja présenté ici)

Cette règle trace tous les appels à "echo $this->{xxx}" dans votre vue Zend_View et vous indique qu'il n'est pas bien d'afficher directement une variable de vue sans l'échapper auparavant.
Bon, de là à monter un système qui echappe automatiquement les variables de vues ( à la Symfony) il n'y a qu'un pas, Zend_View étant pour rappel premièrement facultatif (vous voulez utiliser un autre système de vues/templates ? faites donc) deuxièmement très flexible (Zend_View_Abstract / Zend_View_Interface).

Petit exemple de script de vue (edit.phtml) :

<h1>Edition du membre <?php echo $this->form->getElement('nom')->getValue() ?></h1> 
<?php 
echo $this->form; 
?>

Et le bytekit :

julien@julien:views/scripts/membres$ bytekit --rule=ZendView edit.phtml  
bytekit-cli 1.1.1 by Sebastian Bergmann. 
 
  - Attribute $this->form is not safe-guarded by Zend_View::escape() 
  in /media/www/pe/application/modules/default/views/scripts/membres/edit.phtml:4

Sympa, à mettre dans la trousse à outils avec les autres (PHPUnit, PHP_CodeSniffer, PHPCPD, PHPMD etc...)

Social Bookmarking:

                                     

Commentaires:

Connectez-vous pour vous abonner à cet article:

Flux de commentaires pour cet article : Atom 1.0  RSS 2.0
Commentaire de: MikaMTB31 [Membre]
Hmm... Je ne suis pas sûr que l'exemple choisi illustre très bien l'intérêt de la chose.

Un formulaire Zend_Form n'a pas besoin d'être échappé, on fait confiance à son contenu, il ne provient pas de l'utilisateur, il renvoie du HTML de façon automatisée. Je sais bien que du point de vue MVC, on n'est pas censé faire confiance à quoi que ce soit, on est censé ignorer tout des variables, mais bon à ce moment là, le "echo $this->form->getElement('nom')->getValue()" n'est plus bon non plus.

Qu'est ce qu'il faudrait lui faire à ce pauvre $this->form pour considérer qu'on l'a échappé, mais sans pourrir la sortie ?
Permalien 06/01/2010 @ 15:50

Vous devez être identifié pour poster un commentaire.

Liste des blogs

Julien Pauli DevPHP blog

Developpement web PHP

Rechercher

<  Février 2012  >
Lun Mar Mer Jeu Ven Sam Dim
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29        

Syndiquez ce blog XML

Articles :

Commentaires :

 
 
 
 
Partenaires

Hébergement Web