2010-12-07 12 views
6

Estoy escribiendo la clase de PHP que tiene que eliminar todos potentially dangerous elements or bogus html tag (such as bad links) de fuente HTML.purificación de HTML en php

Normalmente usaría HTML Purifier library o una biblioteca similar,
pero se requiere un código autodifundido en este proyecto.

hay dos condiciones:

  1. no puede tener más de código 3kB
  2. debe ejecutar realmente rápido

escribí algo que podría hacer el trabajo: http://pihost.pl/purify.php
pero no sé si es lo suficientemente seguro de usar

Mi pregunta es:
¿Hay alguna manera de probarlo correctamente?
O tal vez alguien tiene una biblioteca rápida, pequeña y probada como esta?

+1

¿Qué quiere decir con 'elementos potencialmente peligrosos'? – Ben

+0

elementos javascript, flash y java, "enlaces incorrectos" – Ascon

+1

Meme de seguridad: es recomendable filtrar atributos * no deseados * (onClick =), pero simplemente rescatar con un mensaje de error sobre contenido * malicious * (img src = javascript). No intente limpiar el descontento, solo déjelo caer. – mario

Respuesta

1

Una cosa importante a tener en cuenta: ¿cómo reacciona su purificador al código HTML roto/malformado? Para combatir esa situación, sugeriría ejecutarlo primero en PHP tidy para limpiar el HTML, antes de purificarlo.

Si quiere una serie de pruebas, puede intentar consultar el tests que HTMLPurifier usa.

0

Este sitio tiene un montón de ejemplos de hazañas: http://ha.ckers.org/xss.html

Se podría intentar ejecutar aquellos a través de su purificador y ver lo que sale por el otro lado.