Реализовать защиту от спама на лэндинге
Есть лэндинг: https://finzdorov.online/ (html+php)
С него заявки с нескольких форм передаются на почту и в CRM-битрикс 24
В данный момент защита от спама реализована через добавления скрытого поля Email, логика простая, человек это поле не видит и не заполняет – заявка отправляется, бот это поле
видит и заполняет – заявка не отправляется.
До недавнего времени данной защиты было достаточно (от ботов она защищает), а вот от людей – хулиганов нет)
Не знаю какую цель преследуют эти люди но иногда с одним телефоном но с разными
именами отправляют по несколько заявок в минуту.
Что нужно сделать:
После проверки заполнено скрытое поле или нет и если не заполнено, то перед
отправкой заявки должно проверяться по базе данных (или файлу) были ли отправлены за определенный промежуток времени (промежуток
времени в часах задается в файле конфигурации) заявки с данного ip (надо определить ip пользователя), заявки с данным номером телефона.
Если заявки с данного IP или с использование данного номера телефона за определенный промежуток времени
не отправлялись, то надо записать время, IP, номер телефона и Имя отправителя в базу (или файл) и отправить заявку созданную пользователем.
Если заявка с данного ip или с использованием номера отправлялась менее чем заданный промежуток времени
назад, то пользователю надо выдать сообщение, что Вы отправляли заявку (с
использованием данного номера телефона или с данного IP или все сразу если совпало все) в такое то время и следующую заявку вы сможете отправить в такое то время и заявку не
отправлять. Текст сообщения тоже должен задаваться в конфиге.