¿Existe una buena biblioteca en CPAN para filtrar secuencias de comandos entre sitios (XSS)?
Pregunta
¿Hay una buena biblioteca en CPAN para filtrar un campo de texto para todas las cosas malas, como xss?
Solución
Su primer paso siempre debe ser buscar y examinar los resultados. Parece que hay muchos golpes potenciales . Cuando busco algo nuevo, busco en los resultados de búsqueda y verifico los documentos de los módulos para ver qué tan claros son y qué tan bien está construida la API. También busco comentarios (algunos tienen, otros no, a menudo es aleatorio) y reviso errores. Me da una idea de lo que estoy tratando.
Si su pregunta es " ¿Cuál de estas opciones es la mejor? " ;, entonces me temo que no lo sé en este caso. (Mi respuesta inicial puede haber sido demasiado general).
Dos buenos lugares para comenzar una búsqueda de CPAN:
Otros consejos
En el nivel base, desea HTML :: Entities , pero qué escape eligió depende de en qué parte del DOM esté utilizando los valores. No ayudará en absoluto que la entidad html codifique una entrada del usuario si la pega dentro de una etiqueta <script>
, por ejemplo.
Es muy probable que esté utilizando algún tipo de plantilla para generar el html, por lo que debería tener un método para escapar del contenido, HTML::Mason
tiene <% $thing |h %>
, Template::Toolkit
tiene [% thing | html %]
... pero si solo lo hace en su propio código, deberá llamar a encode_entities
usted mismo.