Tengo un área de texto donde el usuario puede escribir un artículo. El artículo puede contener texto (negrita y cursiva), enlaces y videos de youtube. ¿Cómo permito esas ciertas etiquetas html y aún publico un código seguro de prevención de xss?¿Cómo permitir ciertas etiquetas html?
6
A
Respuesta
11
me gustaría utilizar HTMLPurifier, para garantizar que sólo se mantiene HTML
- Eso es válido
- y sólo contiene etiquetas y atributos usted ha elegido para permitir
que debería agregue que PHP proporciona la función strip_tags()
, pero no es tan bueno (cotización):
Dado que
strip_tags()
no valida las etiquetas HTML, parciales o rotas, puede eliminar más texto/datos de lo esperado.
Esta función no modifica los atributos de las etiquetas que que permiten el usoallowable_tags
, incluyendo el estilo y onmouseover atributos que un usuario malicioso puede abusar de la hora de escribir texto que se mostrará a otros usuarios.
1
Si está buscando una protección XSS real, sugiero usar HTMLPurifier. Hacerlo usted mismo es bastante difícil, si no imposible de hacer. Y está destinado a tener errores (/ agujeros) en él.
Cuestiones relacionadas
- 1. escape ciertas etiquetas HTML de una cadena
- 2. Permitir selectivamente etiquetas html inseguras en Plone
- 3. TinyMce Permitir todas las etiquetas Html
- 4. Recibe mensajes de Tumblr con ciertas etiquetas
- 5. Magento - ¿Cómo se permiten ciertas etiquetas (iframe, embed) en el editor CMS de Magento?
- 6. Deserializar solo ciertas etiquetas JSON con Jackson
- 7. ¿Cómo puedo permitir que las etiquetas HTML se envíen en un cuadro de texto en asp.net?
- 8. PHP: strip_tags - ¿eliminar solo ciertas etiquetas (y sus contenidos)?
- 9. Localización con etiquetas HTML
- 10. etiquetas html en las etiquetas de opción
- 11. Etiquetas HTML vacías
- 12. Cortar cadenas HTML sin romper etiquetas HTML
- 13. Etiquetas html de Nest dentro de html
- 14. Analizando caracteres de nueva línea en textareas sin permitir todas las etiquetas html
- 15. Etiquetas de escape en html
- 16. Cómo doblar/desplegar etiquetas HTML con Vim
- 17. Cómo echo en PHP, etiquetas html
- 18. ¿Cómo tira de datos de etiquetas HTML
- 19. ASP.NET MVC ¿cómo mostrar etiquetas html como html?
- 20. Convertir etiquetas en entidades html
- 21. Eliminar etiquetas HTML en String
- 22. Analizador HTML valida las etiquetas
- 23. Permitir atributos HTML personalizado en TinyMCE en EPiServer
- 24. Permitir HTML en cuadros de texto
- 25. Uso de etiquetas HTML personalizadas
- 26. Formato condicional en etiquetas HTML
- 27. Reemplazar etiquetas HTML usando jsoup
- 28. DOMDocument PHP pegando etiquetas HTML
- 29. Almacenar etiquetas html en xml
- 30. Etiquetas HTML 'contenedor': uso adecuado?
+1 por hacer una cita de strip_tags() notas –
¡Thx! Parece que htmlpurifier es el camino a seguir. Solo para aclarar; htmlpurifier previene las inyecciones xss, sql y todos los demás códigos peligrosos? – Michael
Lo he usado un par de veces para limpiar la entrada del usuario y asegurarme de que solo contiene las etiquetas que había elegido permitir; si eliges las etiquetas/atributos permitidos cuidadosamente, evitarán XSS. Pero no hará nada con las Inyecciones SQL: ese es otro problema, que resolverás asegurándote de que lo que colocas en las consultas SQL sea seguro * (los enteros deben ser enteros, las cadenas deben escaparse correctamente, ... o debes use declaraciones preparadas) * –