Защита от спама без капчи

Статус
В этой теме нельзя размещать новые ответы.

Absolute

Крокодил ;)
Регистрация
9 Авг 2009
Сообщения
581
Реакции
456
Время от времени создаю лэндинги.
Сыпется спам, капча плохо влияет на конверсию - аудитория мало продвинутая. Да и самого признаться выбешивает порой, особенно хард-уровень, где пол часа отмечаешь "все картинки, где есть дорожные знаки".
Поэтому капчу не ставлю.

Как правило, это простые формы обратной связи (имя-почта-телефон) в связке jQuery.ajax() + php mail().

Собственно, у меня нет понимания, как работают спам-боты, ну кроме примитивного сканирования страницы на <form>, <input>, <textarea> и <button type="submit"> - здесь понятно.
Умеют ли они выполнять javascript? Анализируют ли js, к примеру на тот же $.ajax({url : ''}) (куда слать данные).

Если, к примеру отказаться от традиционных form, input, textarea, а вместо них использовать обычные div контейнеры, при клике на которые добавляется contenteditable (ну если хитрый сканер и на предмет contenteditable смотрит исходный код страницы) и вызывается focus() - по сути аналог той же textarea.
И обфусцировать скрипты отправки данных.
Поможет ли это?
 
я бы с настройки сервера начал! ограничить доступ по зонам ip. Потом дальше думать...
P.S. Что за лендинги такие, через формы которых валиться спам? Обычно почту спамят. Может убрать Email из форм?
 
P.S. Что за лендинги такие, через формы которых валиться спам? Обычно почту спамят. Может убрать Email из форм?
Не только почту, формы тоже спамят и очень активно. Почитайте хотя бы Для просмотра ссылки Войди или Зарегистрируйся.
Спам именно через форму идет, нет никакой почты в коде страницы.
 
мыло и текстарию достаточно чтобы привлечь конкретный такой спам.
Лично я сталкивался с подобным - форма отправлялась через аякс, боты проходили без проблем. Хотя код был без обфускации. js капча (просто выполнение простейшей функции $('#id-hidden').val() + 93024 ) убрала 99% ботов но потом пришёл хрумерр или ещё ктото - стал приходить спам. Помогло обезличивание инпутов с js капчей и проверкой. То есть делаем несколько input:
<input name="n[]" style="display:hidden"><input name="n[]" style="display:hidden"><input name="n[]" style="display:hidden">
<input name="n[]">
<input name="n[]" style="display:hidden"><input name="n[]" style="display:hidden">
<input name="n[]">
в сессии храним что n[3] и n[6] - нормальные, соотвественно проверяем их, n[3] должен содержать мыло, в других инпутах должно быть пусто.
 
Нужен какой-то скрипт анализирующий действия посетителя на странице, время присутствия и прочее, определяющий человечность так сказать. Если найдёте решение отпишитесь тут пожалуйста, тоже устал спам удалять
 
Можно проще:
Создаём инпут на вашей форме:
input name=url
Скрываете его через дисплей нон.
А при получении формы проверяете, если он заполнен, значит заполнил хрумер.
 
bolyk правильно говорит. Создайте два тектовых поля, оригинальное скройте через css, второе, фейковое, оставьте на виду. Заскриптуйте в php проверку полей, если первое скрытое поле заполнено, то не отправляйте форму и выдавайте ошибку. Таким способом пользуюсь уже лет 6 на сайтах на вордпрессе. Спама нет.
 
Я тоже использую невидимое поле с именем url, но дополнительно еще вот что.
Изначально форма грузится с action = send.php (к примеру). Это ловушка для спамера. Этот скрипт ничего не делает, а лишь выдает сообщение, что письмо успешно отправлено.
А вот при событии отправки формы (кликом по кнопке submit или нажатием enter) отправляем форму уже на нормальный скрипт.
И есть еще один хороший вариант. Фиксировать клик, который загружает форму. Хоть модальное окно с формой, хоть отдельная страница с формой, но попасть на нее можно только после клика по ссылке или кнопке. Так вот нужно поймать этот клик и отправить на сервер, зафиксировать его например в сессиях. И когда прилетает на сервер заполненная форма, то сначала проверяем, был ли клик для загрузки формы.
Все эти методы действенны и спасают от ботов пока вас не захотят проспамить целенаправленно. Если детально изучить, что и как отправляется, то очень быстро обойдут эти защиты.
Более надежной защиты чем подтверждение самого пользователя нет. Капча и подобные средства.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху