#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 не связаны друг с другом, их необходимо рассматривать как таковые. Побег только для цели, а не априори