Как стать автором
Обновить

Комментарии 122

с доброкачественными образованиями вообще непонять, что это буква.
возможно, когда будет набор букв, как это обычно на капче, тогда и будет понятно, а так…
нет.
Дело-то теперь просто за законами генерации шрифта. Тут уже можно развернуться. Использовать готовые куски, цвета, подставлять картиночки. Идея очень-очень и очень! Да и потом, кто мешает после всего этого счастья искажать капчу, как это делается сейчас?
Австору гигантский респект!
Можете открывать проект типа рекапчи и будет вам успех, я уверен.
уж меня извините, можете даже заминусовать (тут часто минусуют не согласных), но капча — зло. Сидишь несколько минут и думаешь, что тут все-таки нарисовано. Из 100% времени на регистрацию — капча занимает не меньше половины (примерно). Понимаю, что это наиболее действенный способ в данный момент, но это плохой способ, не уважающий пользователя. Любое развитие этой технологии только отодвигает изобретение действительно рабочего и удобного способа борьбы со спамерами (например: пара лет тюрьмы без возможности условного срока. Шутка, конечно :) но с долей шутки )
про развитие технологии уточню:
считаю, что текущее развитие этой технологии идет к усложнению чтения обычными смертными
Боюсь революционного решения ближайшее время не будет найдено. Если уж в жизни со спамом невозможно бороться, когда если не в почтовый ящик, так в дверь засунут, то в любой свободной среде будут лазейки.
Есть спрос — будет предложение, остается воевать совершенствованием приемов, снова и снова, пока к ним не подобрали ключи.
Молотильщики капч обойдут все =)
А так мне оч понравилось.
НЛО прилетело и опубликовало эту надпись здесь
Это 8 )
НЛО прилетело и опубликовало эту надпись здесь
это лучше, чем считать котят
Если оценивать чисто визуально — это модернизм, мне понравилось. А со временем и её обойдут.
Но всё равно красиво :)
У меня есть некоторые надежды на счет обхода такого метода. Сейчас алгоритм у всех ботов один и тот же — берется образец буквы и примеряется к букве из капчи — вертится, искажается в перспективе, т.е. на каждую букву капчи уходит наверное с миллион циклов, если капча хорошая.

Но все это работает только за счет того, что в базе есть те же буквы, которые используются в капче. Я, в свое время, делал особый шрифт для капчи зайцев.нет — небыло ни одного автобота в течении мясяца, только потом мой шрифт внесли в базу и они поперли. Т.е. без готовых форм нынешние алгоритмы не смогу справится.

Ботмейкерам придется разработывать новые методы, что уже займет время. И им не позавидуешь, уже за счет того, что в алгоритм создания шрифта можно изначально внести изменчивость поведения.
Вы заблуждаетесь на счет методики подбора капчи. Шрифты здесь совершенно не причем. Т.е., конечно, существуют и такие простые боты, но серьезные программы используют нейронные сети, а их ваш метод не остановит ни разу)
Нейронные сети — люди получающие доллар за 1000 капч ;)
Я тоже сомневаюсь на счет нейронных сетей, никогда не слышал и сам не сталкивался. А вот миллон индусов, разгадывающих капчи это реальность.
Кстати, использование русского шрифта — хорошее дополнение для русскоязычных сайтов.
Распознавание образов — стандартная задача для нейронных сетей.
Нейронная сеть Хопфилда восстанавливает изображение с повреждением до 30%
А можно еще картинок подкинуть? ;)
Определит :)
У всех персептронов общий недостаток: трудность распознавания повёрнутых или искривлённых объектов.
Наберите в Яндексе или Гугле — «распознавание капч». Думаю, процентов 70 от результатов — на основе нейронных сетей.
Я с ботами имел дело напрямую.
На одном популярном форуме их было много разных, но все их отрезало, после банального нового шрифта, созданного вручную. Сомневаюсь что среди них не записалось тех самых ботов с нейронными сетями.
Возможно нейронными сетями и называют перебор комбинаций образа буквы из БД, который работает только за счет уже имеющегося образа буквы в базе.
Нет, на основе нейронных сетей делают сравнение куска изображения (например, буквы) с шаблонами. Для этого совсем не обязательно хранить все шрифты — достаточно только общие, да и то не много. Да, если вы используете уникальный шрифт, для которого нет шаблона, его распознать сложнее, но возможно.
Это не нейронная сеть.
=) я вроде ясно написал: «на основе нейронных сетей», нет? или принято читать только то, что нравится?
Это обычные боты, до нейронных сетей им как рыбе до человека.
Это действительно немного не то. Нейронной сети не нужны образцы для сравнения, они уже в ней.
Да, немного не верно описал. Шаблоны необходимы для обучения сети, на начальном этапе.
Нейронные сети разберут вашу капчу, и даже не зная шрифта.
Им даже проще будет это сделать, так как если абстрагироваться то что изменилось в ваших буквах? Лишь шрифт, который даже не был подвергнут деформации.
Сейчас я буду утрировать — представьте что каждый персептрон нейронной сети считает повороты налево в лабиринте. При этом он без труда сможет отделить все лабиринты друг от друга + заложенная программистом обучаемость+пару видеокарт на CUDA =)
… и люди с корявым почерком, получающие доллар за генерацию 1000 капч ручкой на бумаге.
Я реализовал один из известных методов, где не надо ничего крутить и без нейросетей.
Распознавание производится на основе похожести образов.
Вышеописанную капчу тоже пройдёт
Расскажите алгоритм, если не секрет.
Я этим методом бензин зарабатываю :)
Красивая задумка.
Обойдут-то, может и обойдут, но погрешность «угадывания» определенно увеличится.
Будущее
1-й класс школы.
Учитель:
— сегодня детки мы начинаем новый предмет «основы регистрации в интернет сервисах», пройдет 5 лет, и вы научитесь распознавать алфавит на капчах.

Если подумать, то предлагаемый Вами подход — просто попытка мозга поработать в другом направлении, вместо того, чтобы подумать, какие преобразования шрифта можно сделать.
Чем по большому счету предложенный Вами метод отличается от метода искажения имеющегося шрифта? Те же яйца, только всмятку, плюс меня отнюдь не порадовали Ваши иллюстрации к статье, описанное в предыдущем комментарии уже не кажется анекдотом))
В своем комментарии выше я описал, чем это может быть лучше искажения. Провести миллион циклов на готовой букве, с заранее известными методами искажения, легче, чем не знать что там за буква будет.
А ведь те же искажения и к этим буквам применимы.
Хотя я не профи, интересно было бы услышать мнения тех, кто на деле работал с подобными алгоритмами.
Как будете отличать букву Г от Л? Мне совершенно непонятно
Сделаем Л таково вида, как в вашем комментарии) С хвостиком и плоской шапкой.
Тогджа в чем сложность распознать боту эту букву?
А том, что она тоже будет искривлена. Вообще, как я уже писал тут недалеко, проблемные буквы можно сделать с более узнаваемыми алгоритмами, их не так много и суть не изменят.
Вы слышали об одной из последних разработок в области распознавания капч? Она берет каждую букву и предельно упрощает ее-находит «узлы» и по ним определяет букву. Так что ваши искривления под разными углами и разной толщиной не помогут. Людям распознать ее сложнее, чем ботам.
Буквенные капчи морально устарели. Пора искать что-то новое.
Узлы все равно можно будет найти, это верно. Но намного сложнее, чем раньше.
Нахождение узлов — простейшая операция. Можно даже обойтись обычной оптикой, чтобы это сделать. А уж если компьютер под рукой… ;) Так что увеличение сложности, предложенное в статье имхо отстаёт от увеличения вычислительных мощностей.
Почему-то большинство ботов не умеют делать эту простейшую операцию, а работают на основании базы образов. Узлы дело не простое, если хотя бы делать прирывистые линии, а если ещё накинуть стандартных искажений типа Волны — ещё сложнее.
Поэтому и распространено сравнение массы символа из БД и символа на пикче, что с приведенной системой не сработает более.
Распространено просто потому, что оно быстрее работает. Так что вопрос только в том, когда сложные алгоритмы будут работать быстрее, чем нанятые индусы :)
просто я камрада навел на идею. Теперь он будет делать Л как тут, а не как /\
В принципе, если если подумать хорошо над технологией извращений над шрифтом, то можно сделать читабельную капчу, но по мне, что «генерация шрифта», то «искажения имеющегося» — на выходе то одно получаем — изуродованные букаффки))
Отличить 3 о З и 6 от б гораздо тяжелей ;)
обычно похожие буквоциферные знаки не используются в капчах, да и маленькую Б навряд и стали бы генерировать.
При таком искажении и большая в шестерку может превратится, а на счет не использования, как пользователь узнает, что здесь не используется: 3 или З? Можно конечно написать что в капчи не может быть буквы З но не все это прочтут.
Можно впринципе убрать цифры. Но ещё лучше у проблемных букв и цифр сделать более узнаваемый алгоритм, их не так много.
Ещё есть подход, когда, например, З и 3 (скорее l и 1) считаются при проверки введённой капчи как одна и та же буква, т. е. даже ошибясь, пользователь пройдёт проверку. Так делали когда-то, кажется, на RapidShare.

Либо можно делать как в kCaptcha:
$allowed_symbols = «23456789abcdeghkmnpqsuvxyz»; #alphabet without similar symbols (o=0, 1=l, i=j, t=f)
Лучшая капча — ее отсутствие. На Хабре описано много подходов для выявления, человек или бот
Согласен. Но раз человек хочет поизвращаться, кто ему в этом может помешать?
я судить человека не могу, его выбор, пусть делает как хочет.
НО опять таки повторю выше сказанное «Лучшая капча — ее отсутствие» © Triaffer
Я знаком с методами защиты без капчи, они более просты в обходе. Просто они мало распространены, поэтому и борьба с ними пока не актуальна. А как только станет популярным — спамеры быстро решат проблему.

В основном, эти методы направлены на распознание поведения, скорости написания текста, реакции и методов маскировки информации на странице. Это очень просто обойти.
А что если установить логарифмическую зависимость между минусом в карме и временем задержки между постами? В качестве эвристики можно добавить алгоритмы, распознающие пользователей, которые плюсуют спамерские аккаунты.
еще добавить туда цифры — тогда в список дел буду вносить «пройти капчу на таком-то сайте» :(
На тему похожих символов: мне очень нравится подход, используемый в kcaptcha:
при генерации изображения используются только символы, которые можно будет распознать однозначно:

$allowed_symbols = «23456789abcdeghkmnpqsuvxyz»; //alphabet without similar symbols (o=0, 1=l, i=j, t=f ...)
НЛО прилетело и опубликовало эту надпись здесь
Вы предлагайте, предлагайте.
НЛО прилетело и опубликовало эту надпись здесь
Складывается такое впечатление, что и за деньги вы не выскажете что-то дельное.
Даже за деньги я не выскажу ничего дельного для улучшения современного процессора, я просто о нем очень мало знаю.
НЛО прилетело и опубликовало эту надпись здесь
Знаниям, сидящим в вас (при том, что вы их не используете) и никому не известным, цена — ноль.
НЛО прилетело и опубликовало эту надпись здесь
смотря какие.
вообще… тут нейронные сети не особо нужны… тока если на шаге «Анализа графа»
и то… всё что можно решить нейронными сетями можно решить и без них, при том обычно, лучше и быстрей ))

нейронные сети для задач, в которых сложно (или лень) придумывать алгоритм решения.
Прикольно )) мы такие делали на 1ом курсе.

а на 2ом делали распознавание ))
алгоритм очень простой:
1 – скелетизация.
2 — построение графа
3 – анализ графа

у тебя тут будет доп. геморрой с пересечениями… но его можно будет решить в графе.

так что не думаю, что имеет смысл так заморачиваться ))

я бы порекомендовал поиграть с цветами.
я делал так: зарисовывал подложку мешаниной из букв и цифр а потом на этой подложке рисовал разными перьям (под пером подразумевается Pen) и градиентными кистями с прозрачностью.

и могу сказать, что искажение формы для меня было не такой большой проблемой, как получение этой формы с разноцветной картинки.

З.Ы. хотя… индусо-ориентированный способ взлом капчи, сломает любую капчу :(
Перспективы есть, но у меня сомнения насчёт времени генерации.
Можно их генерить заранее (с) БОЛК
А мне этот подход понравился.
Только надо добавить больше пересечений букв между собой.
Практика показывает, что читается это достаточно хорошо, а вот распознается не очень.

А вообще, наилучший подход — не распространенная капча.
Как всегда — популярность играет против тебя.
… В итоге, админам спамботов нужно было только вовремя пополнять базы шрифтов и вертеть каждую букву примеряя её к букве на капче.
Но я придумал задачку значительно сложнее…

а я думал «всё гениальное просто»!
зачем создавать миллиард картинок с буквой «А», если можно проще — задать вопрос «пожалуйста, напишите первую букву алфавита» или «пожалуйста, напишите 4-ую букву в слове „гигантизм“!
мне кажется, что путь с „адекватным вопросом и окошком для ответа“ наиболее действенен против ботов!
НЛО прилетело и опубликовало эту надпись здесь
Даже если текст будет браться случайно, то одно останется неизменным — задачи. Все типы задач можно вносить в базу и алгоритм готов.
НЛО прилетело и опубликовало эту надпись здесь
в чем проблема боту дернуть урл во флеше?
ну а flasm подскажет, какой урл дергать.
НЛО прилетело и опубликовало эту надпись здесь
Раздупляется посредством фаерволла, при массовом использовании все, всё и так знают. Антифлуд можно и так поставить.
Айпибинд тоже самое.
Тема флеша не раскрыта, не считая того, что не везде можно впихнуть мувик.
Некоторые страны целиком работают с одного ip.
Часто пропадающий интернет может заставить авторизоваться чаще чем раз в 15 минут.

Добавив еще подобной фигни вы снизите желание отвечать на вашем «ресе» очень сильно.
Хотя главная концепция, что бы юзер не геммороился с каптчами — абсолютно верна и это главное.
Поймите, вся проблема безопасности — это проблема неуловимого Джо — Джо не ломают, пока он никому не нужен.

Усложнение капчи с помощью пинга из флеша — локальное решение проблемы спама, от заточенного решения под ваш тип капчи оно ничем не поможет.
Технология организация безопасности, концептуально упирающаяся на скрытые механизмы, в корне ошибочна, т.к. работает до момента, пока механизм не будет разобран — пример — суперпупермегасложный алгоритм шифрования переписки между админом Васей и админом Петей, основанный на ксоре сообщений, в собсвенном IM.

Всё ломается на ура, флеш дизасемблится, пинг подделывается, для спама используются соксы. Дело лишь в том, нужны ли вы спамеру, и готовы ли они потратить ресурсы на реализацию обхода именно вашего решения.

Если этот алгоритм станет распостраненным, то скоро спам-боты научатся его читать)
НЛО прилетело и опубликовало эту надпись здесь
> Есть перспективы?
В кон
В конце концов я понял что я бот.
НЛО прилетело и опубликовало эту надпись здесь
в общем все действия против пользователя. Давайте заставим его еще звонить по телефону живому оператору…
НЛО прилетело и опубликовало эту надпись здесь
> Вообщем идей как всегда нету как сделать чтобы всем было хорошо:)

Да, пусть всем будет хорошо. Главное к этому стремится. В этом вся суть. Спасибо за тему тоже.
Перспективы имхо будут, если использовать не простую геометрию (точки, прямые, дуги), а нечто ближе к топологии (кривые Безье, петли).

Но всё же более перспективными мне кажутся другие направления:
* видео
* 3D (тени, отражения, блики, частичное перекрытие, наложение полупрозрачных объектов)
* распознавание реальных объектов в различных ракурсах (распознавание лиц)
* оптические иллюзии (обман зрения)

Причём можно сочетать.
Методы генерации действительно широкая область для реализации.

На счет других методов:
1. Видео на какое-то время остановит спам, пока этот метод не станет популярным. А тут опять тоже распознование образов из БД спамеров.
2. 3d как-то пробовали на рапидшаре, причем такое что и человек не сразу поймет — довольно быстро обошли. Опять же — если есть готовый образ, то его не трудно по всем проекциям повертеть и примерить к капче.
3. С реальными объектами думаю самое перспективное, но хорошая реализация очень много стоит.
4. Оптические иллюзии не могу прикинуть как могут помочь. Впринципе они только для человека иллюзии, боту даже проще) Если только играть на том, что человек поймет формы ошибочно и в этом будет правильный ответ, но реализацию себе не представляю.
Давно уже какая-нить уважаемая компания сделала бы сервис:

OpenId + смс-подтверждение при регистрации и раздавала бы OpenId. Спамеров стало бы на порядок меньше.
Добавил топик с бизнес-идеей
Доброкачественные образования на шрифтах — это сильно=))))
А сколько русурсов будет использовать генерация одной такой каптчи? А сотни таких каптч?
Это не особо сложная задача для генерации, я даже не знаю что в ней могло показаться сложным.
Вот для распознавания придется так много перебрать вариантов, даже если раскусить все законы генерации, что цель возможно не будет оправдывать средства.
мона не буквы на капче писать а картинки… Типа там пингвин слон и т п…
… кошечки ;)
не кошечки, а кошка. Гораздо сложнее распознать нежели цифру.
Их уже есть: www.1clicaptcha.com
поддерживаю предыдущего оратора, ваш способ принципиально ничем не отличается от нынесуществующих.

Кроме того, как будут распознавать вашу капчу не зрячие те же?
а как сейчас капчу не зрячие распознают !?
Аудио прослушивание.
можно и слово сказать… Это тоже не проблема
в том то и дело что для них это проблема. Есть конечно обходные пути, типа генерить фаил для прослушивания, но по-моему это костыль.
Объясните пожалуйста, почему все стараются мутировать шрифт? И почему не используют gif анимацию для капчи? С чем это связано?

Введите цифру, меняющую цвет.

Проверил такой вариант капчи — люди конечно справляются секунд за 10, но для первого раза, для понимания механизма — это вполне нормально.

Об этой картинке: есть цифры и буквы. Одна:
закрашивается цветным блоком, перекрывая его на мгновения,
неизменная (или меняется незаметно для глаз пользователя — несущественное изменение либо кратковременное),
окрашивается цветным полупрозрачным блоком, т.е. сама она цвет меняет только физически, но пользователь сможет отсеять её,
меняет цвет, вместе с появляющимся на ней блоком (верный вариант),
буква, меняющая цвет.

Все это немного движется, неприятное ощущение незначительное.
Можно добавить еще условия, можно чтобы выводился бесполезный текст, тоже содержащий цифру меняющую цвет (восприниматься всерьез он не будет юзерами).

Почему бы не подумать над таким вариантом? или я сейчас велосипед пытался родить? :)
Это гораздо проще пройти чем, например, капчу с гугла. Gif разбивается на кадры и анализируются кадры в отдельности. А цвет даже помогает определить положение буквы.

Вообще предложенная в данной статье методика не сильно отличается от стандартной капчи с буквами которые «изогнули» в перспективе.
Неясно в чем принципиальное отличие.
Внешнее отличие небольшое, но для ботов это проблема. Самый распространенный метод распознавания — сравнение с образами из БД не будет работать.
Он не будет работать только потому, что его ещё не реализовали. А стоит такой каптче оттяпать кусок рынка, как анализатор сразу же напишут, благо усложнение действительно небольшое. Нужно что-то большее.
Напишут, безусловно. Абсолютный способ борьбы вряд ли будет разработан, поэтому остается постоянная борьба — подбрасывать все более сложные задачи для спамеров, замедляя и усложняя их работу.
А мое предложение это новое направление для дальнейших разработок, если раньше все упиралось в новый шрифт и его искажение, то теперь возможен более сложный уровень — алгоритмы генерации.
Согласен, идея перспективная, реализовать в любом случае стоит. А там уж как получится :)
Люди, которые пишут распознавалки, уже давно не пользуются шаблонами! Перестаньте уже упоминать этот допотопный метод
Я своими глазами видел как они работают, участвуя в борьбе с ними, причем это было недавно.
Может быть там вложены расплывчатые образы букв, но определенно работают эти системы на основе базы возможных вариаций.
Я знаю, что работают, я сам такие писал на 1-м курсе
Да понятно все про кадры, но как робот отличит 4 от 8?

Или если при этом еще и 3-ка на одно мгновение поменяет цвет, что заметит робот на одном из кадров, но не заметит глаз человека?
Это не очень сложно сделать.
Капча генерируется с учетом челевеческого восприятия, это делается при помощи некоторых правил (модели глаза). Это значит, что расплывчатая фраза «одно мгновение» перейдет в «на один кадр», что согласитесь не трудно распознать. Вот она дефаззификация в действии ;)
помоему из гифа выдрать первую картинку и проанализировать это не проблема
Пользователя все больше не любят.
Все это направлено на то, чтобы пользователи не видели спама на своих форумах, блогах и т.п. Не идеально, но что делать?
идея _интересная_, но кому это надо, если есть более простые способы? теже вэйвы на буквах…
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации