
PHP
Знак "+" в конце набора символов обязывает поле логина содержать как минимум один символ, подходящий под требования, то есть логин должен быть не пустой. Однако это подразумевает, что могут зарегистрироваться и пользователи с логинами из одной буквы или цифры. Если необходимо больше обязательных символов, например 3, замените "+" на конструкцию "{3,}" – от трёх символов и более, или "{3,100}" – не менее 3 символов и не более 100.
Конструкция "^...$" даёт понять скрипту, что необходимо проверять всю строку на соответствие. Если эти символы убрать – скрипт отдаст true даже в случае, если логин будет представлять из себя "фывФЫВ&1" – среагирует на единичку в конце (она допустима регуляркой).
Почему боты обходят обработчик PHP
Здравствуйте, почему боты обходят обработчик регистрации пользователя? Все равно регистрируются без имени. То есть с пустым значением.

Смотри вот смотри копируй что между кавычек и регайся " " - это чисто пример. тебе нужно фильтровать post запросы от шелов,sql инъенкций, и спец символов которые корявят код страницы
Владимир Андреев
фильтрация есть trim, htmlspecialchars и еще много чего, замена одинарных и двойных кавычек на html сущности, все равно регаются пустым значением.
Владимир Андреев
Я проверил на счет нескольких пробелов, да и вообще убрал все фильтры, поле идет именно пустым.
Роман Колпаков
%20 это пробелы

Потому, что ты НЕ прописал адрес обработчика регистрации в файле robots.txt - который задаёт список адресов, запрещённых к индексированию поисковыми системами.
Владимир Андреев
А причем тут robots.txt, думаете гугл или яндекс шарит? я смотрел айпишники самые разные страны, а вот e-mail адреса только mail.ru идет.
запрети обход и прекрати тупить
$login = substr(htmlspecialchars(trim($_POST['login'])),0,100);
if(preg_match("/^[a-zA-Z0-9]+$/",$login)) {
// регистрируем
} else {
// "некорректный логин"
}
Паттерн a-zA-Z0-9 допускает использование только символов a-z (a, b, c, d, ..., x, y, z) в обоих регистрах и цифр от 0 до 9. Отредактируйте паттерн под свои нужды. Например для почты он будет такой: /^[a-zA-Z0-9\.\_]+\@[a-zA-Z0-9\.]+\.[a-zA-Z]+$/
Знак "+" в конце набора символов обязывает поле логина содержать как минимум один символ, подходящий под требования, то есть логин должен быть не пустой. Однако это подразумевает, что могут зарегистрироваться и пользователи с логинами из одной буквы или цифры. Если необходимо больше обязательных символов, например 3, замените "+" на конструкцию "{3,}" – от трёх символов и более, или "{3,100}" – не менее 3 символов и не более 100.
Конструкция "^...$" даёт понять скрипту, что необходимо проверять всю строку на соответствие. Если эти символы убрать – скрипт отдаст true даже в случае, если логин будет представлять из себя "фывФЫВ&1" – среагирует на единичку в конце (она допустима регуляркой).
Похожие вопросы
- Почему никто не любит PHP?
- Почему до сих пор php намного востребованнее на рынке труда, чем asp.net core?
- Вопрос к PHP-программистам и людям с опытом создания telegram-ботов. Спасибо заранее!
- Регистрация php обработчик, нужна помощь
- КАК СДЕЛАТЬ БОТА (НЕ СПАМ ) С ПОМОЩЬЮ PHP Devel Studio 2.0 !?
- Почему на PHP пишутся сайты только для малого и среднего бизнеса, а для большого выбирают другой язык? Чем плох PHP?
- PHP Polling ChatGPT
- Как оптимизировать структуру сайта php. на готовом шаблоне
- Не работает PHP include на хостинге
- Хеширование пароля php