O Markdown (com strip_tags) é suficiente para interromper ataques XSS?
Estou trabalhando em um aplicativo da web que permite aos usuários digitar breves descrições de itens em um catálogo. Estou permitindo o Markdown em minhas textareas para que os usuários possam fazer alguma formatação HTML.
Minha função de sanitização de texto retira todas as tags de qualquer texto inserido antes de inseri-lo no banco de dados:
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);
}
}
Essencialmente, tudo o que estou armazenando no banco de dados é o Markdown - nenhum outro HTML, até mesmo o "HTML básico" (como aqui no SO) é permitido.
Permitir que o markdown apresente alguma ameaça à segurança? O markdown pode ser XSSed, mesmo que não tenha tags?