2009-02-03 6 views
0

Je suis un peu confus par ce que je devrais utiliser pour échapper à la sortie de l'utilisateur. Tout d'abord, il y a la classe Zend_Filter_Input qui a l'air de faire ce que je veux mais qui semble orientée vers le filtrage par lots de beaucoup d'éléments. Pour le moment, je veux seulement en filtrer un. Aussi, je suis un peu confus par la définition des évapiles par rapport aux filtres. Quelle est la différence entre le filtre StringTrim et l'évaporateur?Quel est le meilleur moyen d'échapper la sortie de l'utilisateur avec Zend Framework?

est-il une meilleure solution pour échapper à des éléments individuels?

Répondre

5

Les filtres sont bien sur vos formulaires afin que vous puissiez nettoyer & normalisent vos données avant le traitement/stocker. Vous avez mentionné StringTrim - vous en avez d'autres qui assurent la capitalisation ou que votre entrée est entièrement numérique (ou alphanumérique ou ...). Prenez note qu'il s'agit d'assurer la cohérence et la santé mentale de vos données - pas pour éviter l'injection SQL - Les bibliothèques de bases de données de ZF traitent cela comme un problème distinct.

Sur le revers de cela, vous arrivez à échapper à des choses pour la sortie. Alors que "x < 5" ou "PB & J" peuvent être des données parfaitement valides à stocker et à traiter dans votre système, elles peuvent causer des problèmes lorsqu'elles sont affichées sur une page Web. C'est pourquoi vous utiliseriez normalement htmlspecialchars() ou htmlentities() - par défaut, Zend_View utilise htmlspecialchar() lorsque vous $this->escape($foo).

+0

Merci - Je ne savais pas de l'aide de vue d'évasion. – Ross

1

utilisation htmlspecialchars()?

Si cela est ce que vous voulez, s'il vous plaît préciser ce que vous entendez par « évasion sortie utilisateur ».