noidex
Новичок
Всем доброго времени суток, помогите зеленому программисту разобраться с безопасностью, не совсем понимаю, как сделать правильно вывод.
Есть функция, которая обрабатывает входящие данные из формы WYSIWYG:
function htmlclean ($var) {
$var = trim($var);
$var = strip_tags($var, '<h1><h2><h3><h4><h5><h6><span><sup><sub><span><span><em><strong><br><p><b><img><blockquote><ul><li><a>');
if(get_magic_quotes_gpc()) $var=stripslashes($var);
if(!is_numeric($var)) $var=mysql_real_escape_string($var);
return $var;
}
Если данные были составлены с помощью WYSIWYG редактора и отправлены в БД все выводится отлично, но вот если добавить произвольный набор символов (например: текст" style="width:1000%;"> </div>), то при дальнейшем выводе получаю полную разруху в html коде. Так вот, как можно избежать таких проблем и при этом сохранить возможность хранения html?
И еще вопрос достаточно ли этой функции для защиты от инъекций и XSS, ("INSERT ...") экранирую кавычками '".$var."'?
Есть функция, которая обрабатывает входящие данные из формы WYSIWYG:
function htmlclean ($var) {
$var = trim($var);
$var = strip_tags($var, '<h1><h2><h3><h4><h5><h6><span><sup><sub><span><span><em><strong><br><p><b><img><blockquote><ul><li><a>');
if(get_magic_quotes_gpc()) $var=stripslashes($var);
if(!is_numeric($var)) $var=mysql_real_escape_string($var);
return $var;
}
Если данные были составлены с помощью WYSIWYG редактора и отправлены в БД все выводится отлично, но вот если добавить произвольный набор символов (например: текст" style="width:1000%;"> </div>), то при дальнейшем выводе получаю полную разруху в html коде. Так вот, как можно избежать таких проблем и при этом сохранить возможность хранения html?
И еще вопрос достаточно ли этой функции для защиты от инъекций и XSS, ("INSERT ...") экранирую кавычками '".$var."'?