Супербыстрый хостинг на SSD от 115р в месяц   •   Реклама
981 просм
2 комм
Поделиться:

Идея для хорошего антиспама (теория)

Наверное, каждый сталкивался со спамом на своем сайте – в комментариях, в формах обратной связи. Когда речь идет о спаме людьми, то тут не помогут никакие капчи, и решением проблемы будет различного рода блокировка доступа к вашему ресурсу для таких лиц.

Что касается ботов – тут все весьма интересно. Принцип работы у них следующий: они заходят на сайт, находят на нем все возможные формы, заполняют в них поля (типы полей чаще всего легко определить, например, поле с name="email" требует ввода e-mail адреса) по шаблону и отправляют спам-сообщение.

Как же исключить рассылки спама ботами? На ум приходит весьма интересная идея: поскольку боты находят в форме поля и пытаются заполнить их по шаблону своими данными, то необходимо сделать любое скрытое поле, которое очень похоже на реальное.

Почему скрытое, и зачем оно нужно? А для того, чтобы сделать проверку этого поля. Если оно заполнено (а заполнить его могут только боты, так как скрытое поле не видно людям), то выдаем ошибку и не отправляем письмо.

Для примера, поле может выглядеть так:

<div style="display: none">

	<input type="text" name="nickname" class="input" value="" />

</div> 

Важно, чтобы тип поля был не hidden – такие поля боты не заполняют. Например, на PHP получаете значение этого поля, и если оно отлично от пустоты (значит, отправитель – бот), и запрещаете отправку формы.

Эта статья несет чисто теоретические примеры решения проблемы, в следующих уроках я покажу, как это можно сделать практически для различных CMS.

2
комментария
Гостям запрещено участвовать в обсуждениях сайта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
23.04 в 15:06

Ждем урока по подобной функции в DLE )

  • 0
4.05 в 22:49

Ну у данного способа есть недостаток - если нужно заспамить конкретный сайт, то это быстро вычислят.

Вообще любые способы делать hidden-поля или еще что-то не имеют смысла, т.к. спамеры обычно смотрят на данные форм

То есть сначала форма отправляется как обычно, челик смотрит, в каком виде приходить должно, и потом спамит

Вот сделать на сервере какой-то рандомный токен, добавлять его в поле и потом проверять - возможно

От спамеров общего плана можно тупо переименовать все поля, и все будет относительно нормально

  • 1
Подняться наверх
«Pandoge» - помощник веб-мастера