безопасный код Много раз написав код, задумываешься, а безопасный ли он?
Что бы сэкономить себе время я 1 раз задумался и родил удобную процедуру для чистки данных получаемых от пользователя (заполнение формы, запросы и т.п.)
Так как я работаю только в UTF8 (в силу ряда причин и вообще), то кому надо, от скорректирует нужную кодировку.
Функция принимает минимум 1 переменную – сама строка. Дополнительно можно указать желание чистить код для sql запроса, чистка html тегов и приведение строки к каноническому виду.
function inputclean($input, $sql=false, $tag = false, $strip = false) { if ($tag) { $input = htmlentities($input, ENT_QUOTES, 'UTF-8'); //html_entity_decode()делает все обратно }
// мнемонизировали строку. if(get_magic_quotes_gpc ()) { $input = stripslashes ($input); // убрали лишнее теперь экранирование. } if ($sql) { $input = mysql_real_escape_string ($input); // если нужен MySQL-запрос, //то делаем соответствующую очистку. // Подключение к базе должно быть активным! }
if ($strip) { $input = strip_tags($input); // если надо, то режем теги }
//режем теги. $input=str_replace ("\n"," ", $input); $input=str_replace ("\r","", $input); //обрабатываем переводы строки. return $input; } Пользуйтесь функцией всегда. Даже если вам кажется, что ничего “лишнего” в данных не может быть.