Если я хочу проверить пользовательский ввод, нужно ли его дезинфицировать заранее?
$age = $_POST['age'];
if ($age == 18) {
echo 'is 18';
}
else
{
echo 'Is not 18';
}
этот пример делает меня уязвимым для атак? Должен ли я санировать возраст до блока if / else?
$ age = htmlentities ($ _ POST [‘age’])
или же
$ age = stripslashes ($ _ POST [‘age’])
Здесь нет возможности нападения. Входная строка не оценивается как код или иным образом пыталась быть выполнена каким-либо образом. Вы просто сравниваете строку с другой строкой / числом, что является безопасной операцией.
Других решений пока нет …