Vladimir Maximenko прислал статью с описанием реализации системы защиты web-форм от заполнения их программами-роботами (отображается зашумленная картинка с случайным числом, которое нужно ввести в форме).
- Captcha (http://en.wikipedia.org/wiki/Captcha) - полностью автоматизированные открытые тесты Тьюринга по разделению людей и машин (Completely Automated Public Turing tests to tell Computers and Humans Apart).URL: https://www.opennet.ru/base/dev/turing_test.txt.html
Новость: https://www.opennet.ru/opennews/art.shtml?num=4105
ишь ты
в большенстве случаев это можно обойти довольно-таки просто.
интересно как ?
(взлом сервера не считается)
используя распознавание картинки и отделения текста. Ради примера взять исходники imagemagick'а.
я конечно не спорю, что это подойдет для всех ловушек (т.к. одни используют ромашки, а другие фиалки под бекграунд), но всеже можно добиться довольно таки удачного распознования (я не говорю про 100% успеха, хотя как постараться).
процент успеха будет просто жалким...
такие картинки обычно СИЛЬНО зашумлены
или как показыфвают шоты программы - искажены(закручивания, волны и т.п. искажения).
распознавалка таких закрученных программ наверняка мягко выражаясь будет ресурсоемкой, а результат - плохим.
Есть другая идея: присылать клиенту JavaScript-программу, которая должна работать секунд десять до того, как подготовит форму к отправке (иначе форму не примут на сервере). Человек может подождать такое время, а робот обычно хочет сразу заполнить много форм, так что для него трудоёмкость будет довольно большой...
защита на клиенте - нет защиты, ручше на серваке перед выдачей страницы паузу делать на пару сек, при этом небуферизованно что-то передавать, чтобы не думали "тормозной сайт".или можно выдать форму, а ключ кодирования данных перед отправкой выдать только через 5-10 сек, в этот промежуток времени пользователь форму будет заполнять
Похожая система уже реализована на многих сайтах отправки SMS сообщений.
Я гдето встречал статью с оригинальным решением, по обходу такой защиты. В кратце смысл был следующий:
Крупный webmail провайдер, ввел подобную технологию, дя защиты от автоматической регистрации почтовых ящиков спамерами. В ответ спамеры завели порно ресурс со свободной регистрацией, регистрирующимся предлагалось кроме всего прочего выполнить этот самый тест, но вся тонкость в том что хитрый скрипт запрашивал картинку с формы регистрации майлбокса, а затем тудаже помещал ответ. Тем самым народ, жадный до порнухи, создавал ящики для спамеров.
Гм, а фильтрация по реферу никак??
>Гм, а фильтрация по реферу никак??Робот может сгенерировать referer какой ему будет угодно. Кроме теста по картинке правильный робот отличить от браузера клиента невозможно.
Есть другой вариант (сделать написание робота экономически невыгодным) - можно что-то жуткое на javascript заставить браузер вычислять и затем сравнивать результат работы, причем код генерировать динамически с учетом IP клиента (чтобы результат через робота нельзя было пропустить) и с привязкой под диалекты популярных браузеров.
Нейросеть настроить обучить можно