Как отсечь роботов на сайте без ввода капчи?
Вы когда-нибудь задумывались, сколько потенциальных клиентов не оставили у Вас заявку, потому что не осилии капчу или не прошли валидацию данных?
Спорим у Вас нет таких цифр?
Как быть: терпеть спамеров или мучить клиентов капчей?
Однажды задавшись этим вопросом - мы нашли для себя решение.
Проанализировав несколько спам роботов мы поняли, что они совершенно не умеют исполнять javascript. Только очень крутые и дорогие спам боты могут это делать. Но как правило никто ими не пользуется, пока есть сайты, уязвимые для простых программ.
По этому на стороне клиента мы через javascript ставим cookies.
По этому на стороне клиента мы через javascript ставим cookies.
Выглядит это так:
function setCookie(name, value, options) { options = options || {}; options.path = '/'; var expires = options.expires; if (typeof expires == "number" && expires) { var d = new Date(); d.setTime(d.getTime() + expires * 1000); expires = options.expires = d; } if (expires && expires.toUTCString) { options.expires = expires.toUTCString(); } value = encodeURIComponent(value); var updatedCookie = name + "=" + value; for (var propName in options) { updatedCookie += "; " + propName; var propValue = options[propName]; if (propValue !== true) { updatedCookie += "=" + propValue; } } document.cookie = updatedCookie; } setCookie('nobot', '1');
Если нет - считаем такое обращение подозрительным. А дальше на своё усмотрение - или оповещаем о нём или игнорируем.
Все современные устройства давно исполняют javascript и должны проставлять cookie.
25.04.2016
Назад