2011-08-29 12 views
8

¿Esto depende de si la entrada se va a imprimir al usuario? En mi caso, necesito devolver la información al usuario (comentarios y biografía).¿Debo usar ambos striptags() y htmlspecialchars() para evitar XSS?

Gracias !!!

+0

Su principal preocupación debe ser desinfectar la entrada del usuario, independientemente de lo que haga ... Si está utilizando la entrada en CUALQUIER consulta de base de datos también necesita escapar con el algoritmo de escape apropiado ... –

Respuesta

18

htmlspecialchars() es suficiente para evitar XSS.

etiquetas Strip elimina las etiquetas, pero no caracteres especiales como " o ', así que si usar strip_tags() también hay que utilizar htmlspecialchars().

Si desea que los comentarios de los usuarios se muestren tal como los escribieron, no use strip_tags, use htmlspecialchars() solamente.

+0

¿Puede el infractor explicar por qué él downvoted? – arnaud576875

+1

No puedo hablar por los downvoters, pero su última línea parece completamente incorrecta; debes usar 'htmlspecialchars' siempre (cuando salgas al navegador ...) ** excepto ** cuando quieras que los usuarios puedan ejecutar el código (como en jsbin) – jeroen

+0

@jeroen te perdiste la coma en' Usar htmlspecialchars () solo, '. Significa que si quieres que los comentarios de tus usuarios se muestren como los escribieron, no uses strip_tags; use htmlspecialchars solamente. – arnaud576875

Cuestiones relacionadas