Данный способ был привезен из-за бугра изначально. Его суть это фильтрация для спама и ботов, которая помещается в 3 строки кода (всего). Главное он работает, и довольно не плохо работает.
Итак:
1) В форму добавления комментария добавляем скрытое поле:
2) В кнопку оправки формы добавляем javascript код:
3) В обработчик формы:
Принцип действия этого метода основывается на том, что спам-боты не умеют выполнять программы на javascript. И если на кнопку \"Отправить\" нажмет человек, то при нажатии на кнопку выполнится javascript код, в результате выполнения которого в скрытое поле с идентификатором id=\"check\" в переменную \"check\" запишется значение \"antiSpam\". А в случае с роботом переменная так и останется пустой. А пока, робота в киев еще свободна, у нас есть несколько свободных вакансий на должность \"Кликать по кнопке отправить\".
И все что останется предпринять - это проверить в скрипте чему равна полученная переменная с именем \"check\". Если оно равно проверочному слову \"antiSpam\", значит сообщение отправил человек. Ну а в противном случае, процентов на 99 (1% - вдруг у пользователя отключен javascript) - это робот.
P.S. дополнение, по заявкам... Чтобы оповестить юзера о том, что яваскрипт у него выключен используем вот это:
Убираем восклицательный знак в NOSCRIPT и /NOSCRIPT, а то иначе никак форум не принимает.
Способ действительно работает, и очень неплохо. Самое лучшее решение - простое, ровно как и наоборот. Спасибо за внимание
Итак:
1) В форму добавления комментария добавляем скрытое поле:
2) В кнопку оправки формы добавляем javascript код:
3) В обработчик формы:
if ($_POST['check'] != 'antiSpam') exit('Spam Detected!');
Принцип действия этого метода основывается на том, что спам-боты не умеют выполнять программы на javascript. И если на кнопку \"Отправить\" нажмет человек, то при нажатии на кнопку выполнится javascript код, в результате выполнения которого в скрытое поле с идентификатором id=\"check\" в переменную \"check\" запишется значение \"antiSpam\". А в случае с роботом переменная так и останется пустой. А пока, робота в киев еще свободна, у нас есть несколько свободных вакансий на должность \"Кликать по кнопке отправить\".
И все что останется предпринять - это проверить в скрипте чему равна полученная переменная с именем \"check\". Если оно равно проверочному слову \"antiSpam\", значит сообщение отправил человек. Ну а в противном случае, процентов на 99 (1% - вдруг у пользователя отключен javascript) - это робот.
P.S. дополнение, по заявкам... Чтобы оповестить юзера о том, что яваскрипт у него выключен используем вот это:
<!NOSCRIPT>ЭТОТ ТЕКСТ ДОСТУПЕН ТОЛЬКО С ОТКЛЮЧЕННЫМ JS<!/NOSCRIPT>
Убираем восклицательный знак в NOSCRIPT и /NOSCRIPT, а то иначе никак форум не принимает.
Способ действительно работает, и очень неплохо. Самое лучшее решение - простое, ровно как и наоборот. Спасибо за внимание
6 комментарии
0 загрузки
Детали
- Первый релиз 22 окт 2011
- Последнее обновление 03 авг 2026
- Документация Есть
- Содержимое файлов Исходные файлы
- Всего товаров 2
- Рейтинг (0)
- Регистрация 18 сен 2011
- Уровень 0
- Пользователь подтверждён Да
- Телефон подтверждён Нет
- Email подтверждён Нет

VELIK505
- 22 окт 2011Это статья помогла бы года 2 назад. Просто формы все надо делать на аяксе допустим правильго тогда если спамят то будет оправляться пустота!
А вообща вся клиентская часть щас пишеться на node.js там хоть заспамься...
Просто надо уметь грамотно формочки писать а не изобретать велосипед.
+ ко всему у каждого нормального человека на сервере щас собран ddos deflate либо ngx_http_limit_req_module который вносит гавнюков в лист файрволла. Ладно не буду умничать всё равно тут даже 95% незнают даже что такое ngx_http_limit_req_module придёт время если дай бог каждый всё поймёт
gosteff
- 22 окт 2011а что думать? ))
Весть вопрос в нужности твоего сайта ботам и спамерам. Если у тебя блог с посещалкой в несколько тыс - тебе туда такого бота подселят, что хоть увешайся скриптами )))
А если 100-200 человек посещалка, тогда да, это выход. Т.к. никто не будет морочится ради этого...
Но то, что боты умеют это делать - это уже доказанный факт.
Подумай сам. Откуда в скрытое поле добавляются данные? ПО-простому - из исходного кода страницы. Что мешает боту взять их оттуда? Правильный ответ - НИЧЕГО!
Forceman
- 22 окт 2011я делал сайт пару лет назад часовой компании... На неделе они обратились, т.к. в разделе FAQ на моих глазах в минуту по 2-3 спам сообщения летят, поставив этот способ, уже сутки никаких левых постов. (В сумме я удалил из бд 36 000 спам-записей), так что думай...
gosteff
- 22 окт 2011уже довольно давно умеют...
Если на то пошло, что боты уже выполняют js код легко.
А данный скрипт вообще не является защитой, т.к. выводится в самом файле )
если делать подобную вещь, то выносить в отдельный js файл хотя бы.
vlaf
- 22 окт 2011молодец!)