Czy Markdown (z strip_tags) jest wystarczający, aby zatrzymać ataki XSS?

Pracuję nad aplikacją internetową, która umożliwia użytkownikom wpisywanie krótkich opisów pozycji w katalogu. Zezwalam na Markdown w moich polach tekstowych, aby użytkownicy mogli wykonać pewne formatowanie HTML.

Funkcja oczyszczania tekstu usuwa wszystkie znaczniki z dowolnego wprowadzonego tekstu przed wstawieniem go do bazy danych:

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);
    }
}

Zasadniczo wszystko, co przechowuję w bazie danych, to Markdown - żaden inny HTML, nawet „podstawowy HTML” (jak tutaj w SO) nie jest dozwolony.

Czy zezwolenie na obniżki cenowe będzie stanowiło zagrożenie dla bezpieczeństwa? Czy przecena może być XSSed, nawet jeśli nie ma tagów?

questionAnswers(7)

yourAnswerToTheQuestion