2010-11-21 10 views
5

Hago un montón de $this->escape() en la vista zend. ¿Es esto suficiente para evitar XSS?

Hay HTMLPurifier fuera del Zend Framework. Me pregunto cómo Zend's $this->escape() se compara con HTMLPurifier.

Respuesta

4

escape es un alias de htmlspecialchars. Le permite generar texto sin formato, mientras que HTMLPurifier le permite generar HTML seguro.

No puede tener XSS con texto sin formato.

Debe utilizar HTMLPurifier en lugar de strip_tags si desea generar HTML seguro procedente de una entrada de usuario (por ejemplo, editor de texto enriquecido).

4

HTMLPurifier sirve para un propósito diferente. HTMLPurifier no escapa de HTML ... bueno, no exactamente. Toma una configuración que le da que define lo que está permitido en el HTML y lo que no, y se limpia en función de eso. El resultado es en realidad HTML, con ciertas cosas eliminadas/desinfectadas.

de escape() en esa otra mano se está convirtiendo caracteres HTML como en entidades HTML para que hacen los mismos caracteres en el navegador en lugar de ser interpretado como HTML (por ejemplo & ->&amp;, < ->&lt;, > ->&gt; y así sucesivamente).

Diferentes objetivos.

¿Le ahorra problemas con XSS? Sí, pero asegúrese de haber configurado correctamente la codificación de caracteres.

Cuestiones relacionadas