En general, on utilise la balise <% $expression %> pour afficher une valeur provenant d'une entrée utilisateur, ou bien d'une base de donnée. Si la valeur de $expression contient du code html, cela peut casser votre mise en page ou pire introduire une faille de sécurité XSS. Pour éviter cela, on peut utiliser le module perl HTML::Entities (fonction encode) pour toute les expressions affichées dans la page. Mason offre un mécanisme plus simple pour éviter cette situation. Si vous réglez la variable suivante dans votre config d'apache:
- PerlAddVar MasonDefaultEscapeFlags h
- PerlSetVar MasonEscapeFlags "h => \&HTML::Mason::Escapes::basic_html_escape"
Aucun commentaire:
Enregistrer un commentaire