Проверка HTML от пользователя

#php #html #validating

#php #HTML #проверка

Вопрос:

Как я могу проверить HTML-код, отправленный пользователем? Поиск <script> тегов прост, но вы также можете встроить JS, например <div onclick="yyy"></div> . Существуют ли какие-либо готовые к использованию библиотеки / функции? (например $safeHTML = validateCode($rawHTML) )

Комментарии:

1. Вы хотите провести проверку или дезинфекцию ?

Ответ №1:

Вы можете использовать очиститель HTML.

Ответ №2:

Я использую следующую функцию:

 function sanitizeString($var){
    $var = strip_tags($var);
    $var = htmlentities($var);
    $var = stripslashes($var);
    return mysql_real_escape_string($var);
 

Он изменяет символы, такие как < на

 amp;<
 

предотвратите использование экранирующих символов для SQL, удалите ненужные косые черты и т.д.

Комментарии:

1. -1 Это ничего не подтверждает и выглядит как плохая коллекция разных вещей. strip_tags() может нарушить ваш html, сделать его непригодным для использования позже и не любит искаженные теги (что-то вроде <<scr<ipt>script> или подобное); stripslashes() может быть полезно только во все более редких случаях, когда magic_quotes включен; mysql_real_escape_string() является экранирующей функцией MySQL и не работает без открытого соединения (возвращает FALSE от all your beautiful sanitizer)или с помощью целых чисел; HTML и DB не связаны друг с другом, их необходимо рассматривать как таковые. Побег только для цели, а не априори