Возможный дубликат:
Какой лучший метод очистки пользовательского ввода с помощью PHP?
Каковы лучшие функции очистки ввода PHP?
Полная очистка / безопасная функция
Цель: правильно очистить все данные, вводимые в текстовых полях, перед вводом в базу данных, которая затем выводится на страницу. В моем случае мне нужно предотвратить потенциальные проблемы, не исключая ввода данных. Кроме того, кодировка явно установлена на UTF-8 как в заголовке HTTP, так и в теге META, чтобы предотвратить проблемы с искаженным кодированием. DB также установлен в UTF-8.
Технические характеристики: PHP, MySQL, Apache.
Образец кода:
function secureinput($input)
{
$input = htmlspecialchars($input, ENT_QUOTES ,'UTF-8');
$input = strip_tags($input); //fail-safe for anything that gets through
$input = mysql_real_escape_string($input);
return $input;
}
Вопрос: для каких векторов атаки (XSS, SQL-инъекция и т. д.) это все еще уязвимо?
Огромное спасибо всем, кто может помочь. Это мой первый пост, хотя я всегда сначала обращался к SO, чтобы найти ответы на свои вопросы. К сожалению, на этот раз я не смог найти других вопросов, которые отвечали бы на мою проблему, только небольшие ее части.