У меня есть форма входа на сайте, когда пользователь ошибается при входе в личный кабинет, например, 5 раз с вводом пароля или email, выскакивает капча, при чем запрос к базе данных отправляется с помощью ajax, то есть при определенном ответе (когда лимит попыток исчерпан) в DOM добавляется некий div с капчей, вот тоже вставляю я div перед class="yes", правильно ли это, так как скорее всего, если удалить этот класс ничего не вставится.
А как можно проверку этой капчи засунуть в php код после ее добавления? Так как, если сделать всегда обязательной проверку на капчу уже в php коде, то при ее отсутствии в DOM, будет выходить ошибка, что капча не заполнена.
Например, ниже код не пойдет:
$checkcaptcha = trim($_POST['checkcaptcha']);
if( $checkcaptcha != $_SESSION['captcha']) $errors .= '<li><strong>Неверно введен проверочный код</strong></li>';
Что-то вроде, если пришли постом какие-то данные, то капча есть, иначе ее нет - не пойдут, это можно все подделать.
Например код ниже, тоже не пойдет:
if($_POST['checkcaptcha']){
$checkcaptcha = trim($_POST['checkcaptcha']);
if( $checkcaptcha != $_SESSION['captcha']) $errors .= '<li><strong>Неверно введен проверочный код</strong></li>';
}
Не могу понять, как реализовать это программно, после ответа ajax. Кто знает, подскажите, пожалуйста. Все уже основное написал, а на этом просто застрял:(
Создайте в сессии переменную
incorrect-attemts
код примет примерно такой вид:
if ($_SESSION['incorrect-attempts'] <= 5) {
// не проверяем капчу
// если вход не удался не забываем инкрементировать переменную
} else {
// проверяем капчу
}
Это очень примерный вид - вреальности стоит проверять есть ли такая переменная, не плодить дубли кода и прочее. Это исключительно идея реализации, ни в коем случае не готовое решение
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники