Estoy trabajando en una aplicación web que permite a los usuarios escribir descripciones breves de los elementos en un catálogo. Permitiré Markdown en mis áreas de texto para que los usuarios puedan formatear HTML.¿Markdown (con strip_tags) es suficiente para detener los ataques XSS?
Mi función de texto sanitización quita todas las etiquetas de cualquier texto introducido antes de insertarla en la base de datos:
public function sanitizeText($string, $allowedTags = "") {
$string = strip_tags($string, $allowedTags);
if(get_magic_quotes_gpc()) {
return mysql_real_escape_string(stripslashes($string));
} else {
return mysql_real_escape_string($string);
}
}
En esencia, todo lo que estoy almacenando en la base de datos es de rebajas - ningún otro HTML, incluso "básica HTML "(como aquí en SO) está permitido.
¿Permitir que el descuento presente alguna amenaza a la seguridad? ¿Puede marcarse XSSed, aunque no tenga etiquetas?
@ person-b: gracias por la edición; usted por supuesto está en lo cierto ^^ –
HTMLPurifier se ve increíble. – Andrew
Es un poco, por lo que escuché/usé ;-) –