Форма на сайте собирает спам: что с этим делать без капчи
Капча отсекает ботов и заодно часть живых клиентов. Показываю три ловушки, которые работают тихо: посетитель их не видит, а бот на них попадается.
Как только сайт попадает в индекс, его находят рассыльщики. Выглядит это узнаваемо: «Hello, I came across your business online», предложения продвинуть сайт, зарегистрировать его в каталогах и ссылка прямо в поле «Имя».
Само по себе это не страшно — три письма в неделю можно удалять руками. Плохо становится, когда спама двадцать в день и настоящая заявка теряется среди него.
Почему я не ставлю капчу
Капча работает — и заодно отсекает часть настоящих клиентов. Человек, который и так не был уверен, писать вам или не писать, после третьей неугаданной картинки закрывает вкладку. Для сайта, где заявок немного и каждая дорога, это плохой размен.
Плюс капча — это чужой скрипт с чужого сервера: минус к скорости и лишняя передача данных о посетителе, которую надо описывать в политике.
Три ловушки, которые работают тихо
1. Скрытое поле-приманка
В форму добавляется обычное на вид поле — например, «сайт компании» — и убирается с экрана стилями. Человек его не видит и не может заполнить. Бот читает разметку, находит поле и заполняет всё подряд, потому что не знает, какое поле обязательное.
Заполнено — значит бот. Простая и на удивление эффективная проверка против массовых рассылок.
Важная деталь: поле надо не просто спрятать, а ещё и убрать из порядка обхода с клавиатуры и пометить как скрытое для программ чтения с экрана — иначе вы отсечёте вместе с ботами незрячих посетителей.
2. Проверка времени заполнения
Человек читает подписи, печатает имя и телефон — на это уходят секунды. Бот отправляет форму в ту же секунду, когда открыл страницу.
При отрисовке формы в неё кладётся метка времени. Если между открытием и отправкой прошло меньше нескольких секунд — это не человек.
Тонкость: метку нужно подписать ключом сайта, иначе бот подставит в неё любое значение. Подпись бот подделать не может, не зная ключа.
3. Ссылка в поле «Имя»
Почерк рассылок: адрес сайта прямо в имени отправителя. Живой человек так не пишет.
А вот в поле «Сообщение» ссылки запрещать нельзя — клиент как раз присылает адрес своего текущего сайта, и это самая полезная заявка из возможных. Разница между этими двумя полями важнее, чем кажется.
Чего делать не стоит
- Прятать поле только через display:none. Часть ботов такие поля пропускает. Надёжнее увести за пределы экрана.
- Объяснять боту, на чём он попался. Сообщение об ошибке должно быть одинаковым для всех случаев, иначе рассыльщик подстроится.
- Фильтровать по языку сообщения. Кажется соблазнительным отсекать письма без кириллицы, но так однажды потеряется настоящий клиент.
Что это дало
Три ловушки закрывают массовые автоматические рассылки — то есть почти весь спам, который приходит на небольшой сайт. Целенаправленную отправку руками они не остановят, но её и не бывает в количествах, мешающих работать.
Всё это невидимо для посетителя: форма выглядит и заполняется ровно так же, как раньше.
С чем могу помочь
Ещё в блоге
-
Что на самом деле замедляет сайт
Не «тяжёлый дизайн» и не хостинг. В большинстве случаев это картинки, шрифты и чужие скрипты. Показываю на цифрах своего сайта: 755 КБ превратились в 216.
-
Как выбрать подрядчика на сайт: что спросить до оплаты
Восемь вопросов, ответы на которые говорят о подрядчике больше, чем портфолио. Проверял на себе — на некоторые из них неудобно отвечать честно.
-
Свой сайт или маркетплейс: что выбрать продавцу
Маркетплейс даёт покупателей сразу, но берёт комиссию и не отдаёт клиента. Свой сайт наоборот. Разбираю, кому что подходит и почему чаще всего нужно и то и другое.