Я читал почти везде, что мы не должны использовать наши собственные пользовательские проверки имени пользователя и пароля (например, регулярное выражение и т. Д.), Но вместо этого используйте filter_var и filter_input, встроенные в функции, предоставляемые PHP 5 и выше. Однако даже после поиска более часа за разными строками поиска я не нашел ни одного примера, который показывает, как мы можем проверить правильность имени пользователя/логина и пароля в форме входа. Может ли кто-то быть достаточно любезным, чтобы обеспечить надежную проверку подлинности для имени пользователя и входа в систему.php имя пользователя и пароль с фильтрами
Кроме того, я хотел бы также пояснить, следует ли каким-либо образом манипулировать полями имени пользователя и входа в форме входа, чтобы создать угрозу безопасности? Я имею в виду, может ли хакер использовать имя пользователя/логин или пароль таким образом, чтобы представлять собой инъекцию или любую другую угрозу?
Спасибо всем.
Привет, Спасибо за ответ. Посмотрите, что я столкнулся со всеми этими примерами для проверки электронной почты, URI, IP-адресов даже целых чисел, но я не смог найти ни одного примера имени пользователя и пароля. Я был бы рад, если бы кто-то мог представить пример для этих двух конкретных случаев, которые, я думаю, также послужили учебным пособием для проверки правильности входа с использованием фильтров PHP. Благодаря! – Ajoo
Хорошо, что во многом зависит от того, что вы хотите делать. Каковы правила фильтрации типов для имен пользователей? Это в значительной степени ваше собственное решение! В нем просто не существует поведения по умолчанию для имен пользователей и паролей, поэтому в библиотеке фильтра нет фильтров для имен пользователей и паролей. Определите свой стандарт самостоятельно. Вот почему я указал пример электронной почты, потому что многие современные веб-сайты используют адреса электронной почты в качестве имен пользователей. – Azeruel
Если вы не хотите использовать электронные письма в качестве имен пользователей, вы хотите только очистить ввод пользователя, чтобы они не сохраняли HTML и прочее в вашей базе данных => Используйте FILTER_SANITIZE_FULL_SPECIAL_CHARS для имени пользователя. Возможно, вы не хотите, чтобы имена пользователей могли быть длиннее 255 символов, поэтому проверьте это, но, как я уже сказал, это зависит от потребностей ур. Для паролей я бы только проверял минимальную длину, просто используйте strlen и хэш с криптом, прежде чем сохранять его в базе данных. Будь проще. – Azeruel