У меня есть конструктор форм для сайтов и сейчас в нем реализована защита от множественных отправлений одноразовым токеном в поле со случайным именем. Беда в том, что боты, походу, научились каждый раз этот токен запрашивать и парсить перед отправкой. То есть спам появился.
Я тут подумал, что боты ведь не являются полноценным браузером и загружают только саму страницу, и придумал хитрый план.
1. На страницу с формой добавить ссылку на специальный стиль/скрипт
2. Браузер его попытается загрузить, а я перехвачу это и добавлю посетителю в сессию метку "браузер"
3. При отправке формы через POST проверить метку и удалить ее, разрешить отправление письма
3.1 Если AJAX, то метку не удалять
Как думаешь, сработает?
Какие минусы этой идеи я не вижу?
Так же, думаю добавить рандомизацию имен полей и honeypot, но боюсь это уже все научились обходить.
Для ботов общего назначения (спамят все сайты какие найдут), подойдет любая примитивная защита. Если бота пишут под конкретный сайт, ничего не поможет. Много раз уже обсуждалось, спам можно победить, только если злоумышленнику станет финансово невыгодно спамить ваш сайт. Если ему будет выгодно, он будет спамить, даже руками. Ничего его не остановит.
Ваше решение обладает излишней сложностью для ботов общего назначения и в то же время не сильно затруднит работу программисту, который будет писать целевого бота под ваш сайт. Достаточно скрытого поля через css и на сервере убедиться, что оно осталось незаполненым. Поможет избежать спама от ботов общего назначения. С целевыми ботами и ручными спамерами борются кто как используя комплекс мер, регистрируют по номеру телефона, привлекают пользователей к борьбе со спамом, выдают капчу на подозрительную активность и прочее Можете проанализировать большие сайты, если интересно. Но если ваш сайт не является таким же интересным для спамеров, то и усложнять так всё не имеет смысла.
Это модуль многоцелевой cms, для создания форм обратной связи, перезвонов, отзывов и прочего. Что-нибудь можешь посоветовать из дополнительным мер для такого случая? Всякое форумное, о котором только и пишут уже лет 5, для меня не подходит.
Артур Гранд: ну при спаме - нет "серебряной пули", всё зависит от направления/тематики контента: что-то бывает полезным, а что-то - явный спам. Лучше, чем это может оценить обученная НС под конкретную тематику (или даже тематическую ветку обсуждения или конкретный узко-тематический раздел сайта), вряд ли можно что-то придумать.