2010-06-15 10 views
7

¿Cómo se previene la entrada maliciosa en editores WYSIWYG como TinyMCE?Pregunta de seguridad TinyMCE: ¿Cómo se previene la entrada maliciosa?

Tengo un sistema con usuarios que no son "conocedores de la tecnología" (así que no hay WMD) y necesito un editor de texto enriquecido que publique su contenido en una base de datos.

Me preocupan los ataques de scripts y el código de entrada malicioso.

Respuesta

14

Si sólo desea html seguro, entonces se debe utilizar el HTML Purifier. Si desea proteger contra XSS y bloquear todo html, debe usar $var=htmlspcialchars($var,ENT_QUOTES);

+0

+1 para HTML Purificador. Funciona muy bien y le permite personalizar lo que quiere y lo que no quiere al nivel de una sola etiqueta o incluso un solo atributo – nico

-4
+2

javascript puede ser ignorado por un atacante, esto no detendrá la entrada maliciosa. – rook

+1

*** NUNCA ***

confíe en la validación del lado del cliente – Iraklis

+3

La validación del lado del cliente es útil y si se usa correctamente mejora la experiencia del usuario y la usabilidad, pero SIEMPRE debe ir acompañada de validación del lado del servidor. Cuando soy perezoso siempre comienzo por la validación del lado del servidor y luego implemento las mismas verificaciones en el cliente. – Iraklis

0

No se puede impedir que la entrada del lado del cliente. Puede agregar cosas para entrometerse (o intentar), pero siempre será trivial enviar código malicioso. NECESITA desinfectar en PHP.

SIEMPRE SIEMPRE escapa contenido enviado por el usuario antes de mostrarlo (htmlentitiesgeneralmente ocúpese de eso para usted).

Si desea tener la posibilidad de enviar HTML (como usted dice que quiere WYSIWYG), tendrá que limpiar la lista blanca del HTML que se envió. Cuando digo lista blanca, me refiero tanto a nombre de etiqueta como a atributo.

no estoy tan familiarizado con CodeIgniter, pero encontré this que parece que puede hacer lo que quiera ...

Cuestiones relacionadas