Алеша Попович vs Тугарин Змей или как я боролся со спамом

serjoga 2 сентября 2011 в 16:07 1k
Все началось из того, что я захотел вести свой блог. Как старательный программист, я поставил на комментирование простую капчу для предотвращения спама. Но не тут то было… Капчу взломали… Дважды… Тогда я вышел из себя и решил отключить комментирование, до момента принятия какого-то решения.

Заглянув под кат, я уверен, вы оцените его оригинальность.

Стоя на голове


Программировать или искать новую капчу мне помешал профессиональный навык, а именно ЛЕНЬ. В качестве оправдания я подумал, что как-то несолидно напрягать пользователей разбираться в непонятной буково-циферной куче символов.

Было решено обратится к радикальным методам решения. А именно УБРАТЬ КАПЧУ (если подумать так жизнь станет легче сразу трем «персонажам»: моему серверу, спам-ботам и юзерам).

В замен была создана простая бан-система по IP + пре-модерация комментариев. Все вроде хорошо, за исключением, что мне надоело банить ботов (на тот момент в базе к-во заблокированых IP приблизительно составляло 100). И тут скрипя зубами, стало ясно, нужно, что-то новое.

Наблюдательность — залог успеха


Понаблюдав за спам-комментариями дня 2, я заметил, что они (т.е. спам-боты) заполняют все поля, даже email, который не обязательный. Руководствуясь известной цитатой (сделай свои недостатки своим преимуществом), меня осенило.

Следуя логичности верстки, я добавил еще один input c именем phone и с помощью JavaScript делаю его скрытым(можно и через CSS).

Не долго пришлось ждать, чтобы увидеть, что спам-боты заполняют это поле, при чем только цифрами. Тогда в месте добавления комментариев добавляем проверку, если поле телефон заполнено, то это бот, если нет — доброжелательный юзер. Через пару дней я отключил, пре-модерацию, хотя бан-систему оставил на всякий случай.
Проголосовать:
+38
Сохранить: