Должен ли я очистить данные $_POST, если они используются в операторе if?
Я реализую простую закрытую область на веб-сайте. Доступ предоставляется при вводе правильного пароля. Пароль является общим, поэтому реальных учетных записей нет. Я пытаюсь понять, если я пропускаю некоторую фильтрацию переменных, и если я должен очистить данные. Я почти уверен, что должен это сделать, но я не знаю, каков наилучший подход.
В моем коде у меня есть два места, где я использую данные из переменной $_POST:
if(isset($_POST)&&$_POST['the_password']!="")
{
$my_password = $_POST['the_password'];
//Should i use something like this?
//$my_password = filter_input(INPUT_POST, 'the_password', FILTER_SANITIZE_STRING);
}
Второе место - где я использую переменную в операторе if:
if($a_password == $my_password)
{
//Query using the $a_password variable
}
В этой части кода $a_password происходит из жестко закодированного запроса.
Является ли функция filter_input правильной? Я что-то пропустил?
1 ответ
Короткий ответ - нет; для if
Скажите, ваш код в безопасности.
Однако, если вы отредактируете код позже, вы должны использовать подготовленные операторы в запросах к базе данных.