На днях решила добавить фильтры в созданные мной модули чтоб пользователи в БД ненароком гадость не засунули. Всё прописано вроде правильно, только вот не фильтруют мои фильтры...
Если обрисовать ситуацию точнее - фильтр работает только в том случае, когда html код был добавлен с помощью редактора! Если код прописан вручную, или редактор отключён - код не фильтруется.
Парадокс прямо:
Код для примера:
Код:
//Вводим данные в БД
$result=mysql_query("insert into ".$prefix."_table values ('".$info."')");
//Фильтр при вводе
$info=filter($_POST['info'],nohtml,1);
//Выводим данные из БД
$result=mysql_query("SELECT info FROM ".$prefix."_table");
//Фильтр при выводе
$info = filter($row['info'], nohtml);
Поправьте меня, если какие ошибки есть...
Каким образом редактор влияет на фильтры?
Использовалась Nuke 7.9 Final Release с NukeFiles.
Иду в phpMyAdmin, нахожу нужную таблицу. Там в записях у меня вместо кода его кодовый аналог - &alt; и т.п. При выводе опять генерируется html... И это при том, что стоит фильтр перед выводом данных! Ничего не понимаю.... Получается от SQL иньекций поля защищены, а вот от XSS атак - нет....