Найти тему
SСhaos

Защита формы от спам-ботов с помощью js

Практически ни один сайт сейчас не обходиться без форм для взаимодействия с пользователями. Популярность форм как самого простого способа получения обратной связи от посетителя сайта, привело к использованию форм ботами для рассылки рекламы. Следующим шагом стало появление способов борьбы с ботами, среди которых самым популярным является captcha. Но у данного способа есть большой недостаток, если дела касается капчи с рандомными символами, иногда ее сложно распознать даже человеку.)

Но можно обойтись из без капчи. Для этого мы воспользуемся способом, связанным с заполнением полей формы человеком. Большинство ботов шлют форму напрямую POST запросом на сервер. В тоже время человек при заполнении формы переходит от поля к полю, именно на событии получения фокуса на полей или его потери и основан метод защиты от ботом без капчи.

Пример кода:

<form method="post" class="form">
<input style="display:none" type="text" name="contact " id="contact " value="">
</form>
<script>
$(document).ready(function(){
$(' input').on('blur', function(){
$(' [name=contact]').val("кодовое слово");
});
});
</script>

Скрипт отслеживает потерю фокуса с любого поля, любой формы, на странице и прописывает в скрытое поле contact, кодовое слово.

На стороне сервера следует проверит значение, которое пришло от формы в поле contact, и если оно не равно кодовому слову, то считать данный запрос спамом.

З.Ы. А еще мы пишем много полезной информации в блоге Стократ. Добро пожаловать.

С подпиской рекламы не будет

Подключите Дзен Про за 159 ₽ в месяц