Должен ли я очистить данные $_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 Скажите, ваш код в безопасности.

Однако, если вы отредактируете код позже, вы должны использовать подготовленные операторы в запросах к базе данных.

Другие вопросы по тегам