Многие вебмастеры страдают от большого количества спама, который сыпется по всем емейлам, привязанным к веб-формам. Причем не просто приходить, а литься водопадом. Каждую минуту по 5 сообщений, а это значит, что надо принимать меры.
Прежде всего надо выяснить откуда он поступает, т.е. локализация форм и сайтов. Далее нужно приступить к конфигурации капчи (captcha). Но иногда (в случае с Битрикс) это слабая защита, так как бот ее с успехом раскодирует и спам продолжает атаковать емейлы.
Для решения этой проблемы мы придумали следующее простое и эффективное решение.
У спам-ботов зачастую не выполняется JS (в загружаемых страницах), так как они построены по примитивному принципу и просто ищут в форме поле input, в которое вбивают заготовленный контент и раскодированный код каптчи.
Итак, мы делаем следующее! В форму, которую мы хотим защитить вставляем код:
<input id=«check» name=«check» type=«hidden» value=«» />
В кнопку, по нажатию на которую идет отправка, добавляем:
onclick=»document.getElementById(‘check’).value = ‘secretcode’;»
А в скрипте, который проверяет данные из формы, добавляем следующую проверку на код:
if ($_POST[‘check’] != ‘secretcode’) exit(‘Spam detected’);
Работает это таким образом — при операции submit, наш JS скрипт записывает в пустую переменную секретный код. От живого человека, у которого работает JS — эта переменная приходит со значением, а от бота — нет. Конечно, если у человека отключен JS, то его определит как бота, но это уже необходимое зло.
Пользуйтесь и пусть ваши емейлы будут всегда свободны от спама!
Comments are closed.