Практически ни один сайт сейчас не обходиться без форм для взаимодействия с пользователями. Популярность форм как самого простого способа получения обратной связи от посетителя сайта, привело к использованию форм ботами для рассылки рекламы. Следующим шагом стало появление способов борьбы с ботами, среди которых самым популярным является 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, и если оно не равно кодовому слову, то считать данный запрос спамом.
З.Ы. А еще мы пишем много полезной информации в блоге Стократ. Добро пожаловать.