Pull to refresh

Comments 244

есть такие хаки с капчей для phpbb )
но IMHO лучше когда нужно ввести ответ сложения/вычитания
а так робот может наугад попадать периодически
ммм...тоже верно.
но сложение еще хуже :)
Буду думать дальше :)
ЗЫ Если интересно, там ссылку на рабочую версию.
А почему не добавить с 10 вариантов ответа? Жираф, Зебра.
Сознание воспримет это легко, гораздо легче чем сложение или обычная капча, а подбирать робот будет долго. На всякий случай напомню о незрячих пользователях, для которых, капчи рунета, не проходимы, на всех приличных западных серверах, о них помнят.
Не сочтите эгоистом или бездушной сволочью, но а.незрячих просто мизерный процент в рунете (думаю, куда меньше чем за рубежом) б. не думаю что регистрации на разных сайтах происходят так уж часто и в. если что, незрячий может и попросить кого-нибудь пройти капчу, если уж так надо - не думаю что от него это сильно убудет.

Еще раз прошу не воспринимать меня бездушной скотиной.
Сам такой, а у незрячих людей России много других проблем
Чем-то похоже на логику "Internet Explorer - единственный браузер на свете".
Я понял: все Ослофаны - бездушные скотины!
а как незрячий пользователь будет блог читать?
это же не фильм в формате .srt =)
Отлично все читают, с помощью софта специального, читающего текст.
UFO landed and left these words here
Супер идея! Только вот с другими животными, например, сложнее будет... Вы когда-нибудь слышали того же жирафа или бегемота?))))
Почему не произносить название животного? :) робот врядли поймёт речь.
Надо генерировать звук, иначе робот может запомнить ограниченное количество звуковых дорожек.
Более того, алгоритмы распознавания речи уже давно работают.(
Можно составить достаточное количество разнообразных описаний представленного животного и комбинировать их — большое количество вариаций, да и роботу сложнее будет. Человек по очевидным признакам явно сможет быстро и однозначно определить кто изображен.
Лень двигатель прогресса.
Чтобы не тратить 5 минут в день на удаление спама, мы будем писать систему которая будет бороться со спамом пару недель.
Но написать бота чтобы обойти её потребуется пару месяцев, и определять кошек/собак/жирафов как всегда будут школьники, желающие заработать на пиво.
То есть, Вы хотите сказать, что легче уделить пять(?) минут фильтрации спама в день, чем написать защиту?
Я хочу сказать что какая бы система не была сложной для ботов - всегда найдутся люди, которые будут её распознавать (посмотрите объявления на flance.ru, через день требуются).
Защита, конечно, должна быть. Не сильно простая и не сильно сложная. Чтобы человек не думал что же написано на этой картинке, а робот её не распознал.
IMHO, оптимально сложение чисел, написанных буквами.
В крайнем случае можно поставить премодерацию комментариев + автоматом резалку по популярным спам-словам.
А если очень хочется что-то защищать - то куда полезней и правильней будет защищать сайт от взлома.
UFO landed and left these words here
У жирафа кстати нет голосовых связок ;)
Об этом я не знал) Упорно сидел вспоминал когда я где-либо последний раз слышал возгласы жирафа))
Да, точно!!! Я же помню что где-то слышал))
Спасибо что освежили память!)
UFO landed and left these words here
то, что жираф неспособен производить звуков ещё не значит что у него нет голосовых связок.

Ибо они у него есть. Из млекопитающих, насколько я помню, связок нет только у китообразных, да и то не уверен, что у всех.

Но это, конечно, придирка (-:
в одной из сааамых больших серий саус-парка показывали, как кричит жираф :) я это хорошо запомнил :))
ага. звуковой файл будет называться "мяу.wav"
а почему бы не предлагать вводить название животного самому,
типа введите название животного, например "жираф", или как-то так?
Вот вы знаете русский, а если к вам зайдёт иностранец с переводчиком автоматическим. Ему по словарю незнакомого языка выискивать написание слова?
Если зайдет иностранец, то он и правильный ответ среди предложенных не выберет.
Можно в переводчике найти значение и выбрать верное или вы сомневаетесь, что "там" смогут узнать кошку? ;)
в переводчике нужное -> ctrl+с -> ctrl+v
не думаю, что 'dog' в словарных статьях будет на первом месте "кобель" или "гвоздодёр"%)
Если зайдёт иностранец, то вряд ли ему будет полезен русский ресурс.
С таким же успехом для русскоязычных могут быть бесполезны англоязычные/франкоязычные/... ресурсы.
Да ради бога. Просто делаем для кошки варианты ответа «кот»/«кошка», «котёнок»/«котенок», «cat», «kitten», «猫», «子猫»/«小猫»/«仔猫». И подписать внизу, мол, вводите ответ на русском, английском или японском языке. В идеале — делать систему Open Source, чтобы потом кому надо могли добавить остальные языки. Например, для сербского — «мачка»/«mačka» и «мачкица»/«mačkica».
Закорючки красивые, а решение сложное, на мой взгляд. Трудно перечислить все возможные правильные ответы. У меня элементарный антиспам-бот в icq не все (а ведь люди, вроде) пройти могут...
Вполне достаточно на языке ресурса. Если китаец не осилит слово "кот", то весь остальной контент ему и подавно будет бесполезен.
Действительно. А то пройдет капчу на родном языке, но на сайте все-равно ничего сделать не сможет.
этим автоматическим переводчиком он и переведет со своего языка на русский
Эм... А как вам "кот" и "кошка"? ИМХО, это будет тупик.
вообще "лучшее - враг хорошего" и не у каждого проекта будет столь разношерстная аудитория, но для универсальности мона показывать и Солнце, вилку, ложку, часы. кошка и собака - не единственные картинки ;)
Тогда можно сделать ещё проще:
нужно сопоставить животных, т.е. выдаётся изображение кошки, и список с изображениями удава, окапи, кошки, страуса Эму и т.п. человек выбирает совпадающее животнае ;) И никаких проблем с языками, для слепых добавить звук, навёл на картинку, а она тебе говорит: "Я мурзик" или "Я свинко", ну и по аналогии )))
Причём не просто спрашивать кошка это или крокодил, а название породы на латыни :)
Вида. Породы латинских названий не имеют )
На wincmd.ru капчу с вычислениями роботы обходить научились, в комментах полно спама :(
имхо и вправду роботу перебрать варианты с радио буттон намного легче чем ввести что то со мат.операциями..
так что редки не слаще
Все верно. Посмотрите код: <td>Контрольная сумма: <b>36 + 3 =</b></td>
Никаких картинок! Для любого программиста спарсить "36 + 3" и вычислить ответ не представляет проблем. Это даже не защита.
не поможет, у каждой операции ограниченное количетво названий, забиваем за каждой название, буквы парсятся не сложнее чем цифры.
тогда мы будем выводить запрос в картинке с искажениями, пусть распознают сначала :)
Если искажать тогда нет смысла в вычислениях
ну почему же двойная защита получается: на картинке изображено "прибавьте сорок восемь к двадцати пяти" и текстовое поле для ввода ответа. Бот будет долго мучаться с таким
Тяжелое для компьютера место это распознавание, на арифметику ему начхать. Значит в словесном описании арифметического выражения ему надо:
1. распознать слова и цифры
2. представить это в виде арифметической операции и вычислить.
Сложность первого пункта зависит от искажений в тексте, тут как с обычной капатчей только боту плюс можно слово и по словарям для достоверности проверить, словарь будет небольшой.
Второй делается несложно, ну сколько вы можете придумать шаблонов подобных описаний арифметических выражений. Немного, вот их и разбирать. Таким образом защита только в первом пункте, что ничем не отличается от обычной капатчи, разве что напрягаем мозг пользователя и легче для распознавания.
OFF: Да сколько на картинке? (при этом нарисовано кошка + собака) :)))) БугоГа
как-то на хабре была ссылка на мелкомегких и каптчу на которой нуна отметить из нескольких фоток всех собак/котов
А что, знаки + или - распонзнать сильно сложнее чем цифры? Я уж не говорю о том что при этом выпадают из распознования все буквы...
а почему обязательно знаки + и -... разве слова плюс и минус уже отменили.. а слова добавить-отнять... да и синонимов к ним можно придумать море :) (ну маленькое море :))
Это я к тому что ИМХО капчи со сложением напрягают только мозг юзера, а ботам скорее наоборот.
Я где-то подобную капчу видел:

Правда, шуткой аказалась :-)
тьфу. Прошу прощенья за мой албанский. Иногда не замечаю чего пишу...
Здесь видел капчу, с похожими вариантами: http://random.irb.hr/signup.php
Решил посмотреть, генерирует ли она их сама, или выбирает из готовых вариантов.
Оказалось - там всего около десятка вариантов... то есть, защита почти никакая.
они легко это вычисляют. находят x + y и поле input рядом и тут же суют в него результат.
ну теоретически может быть, со специально заточенным софтом.
однако на практике я пока что ни разу не замечала, чтобы через это пробивались массовые программы для спама.
как вариант - для уменьшения вероятности попадания случайным перебором, увеличить количество вопросов? даже 3 вопроса снижают вероятность неплохо... :)
и вы таки думаете, что робот не попробует ввести оба варианта?
1. Капчи бывают плохие и хорошие, %username%
2. Капчи со сложением/вычитанием ничем особым не лучше обычных. Вы думаете компьютер не умеет складывать?
3. Не стоит полагаться на единственный способ защиты. Комбинируйте.
я решил скомбинировать с полем hidden + поле со стилем class="display:none".
Почитаю комментарии, может еще чего удумаю.
Угу. И все-таки вместо комбобоксов лучше текстовое поле и ввод ответа вручную.
угу... лучше... и кто на представленной картинке - кот, кошка, котёнок?
Я в принципе не вижу проблемы предусмотреть несколько вариантов написания слова.
да это работает, когда поле скрыто стилем, а робот видит и заполняет и при его заполнении сообщение не публикуется.
я иногда просто ставлю хак, который удаляет сообщение (и юзера заодно) если в нем ссылка от юзера, для которого это сообщение первое. на почту приходит уведомление, что было удалено. за год теста только 100% спам )
Это для тех спамеров кому лень html-код почитать, хотя как мера от новичков спасает отлично.
Да что угодно можно. Только особенность capcha в том, что загадку должен "придумывать" компьютер, а отгадывать - человек.
Версия капчи для пхпбб :)
Не знаю как вы, но я долго пытался зарегистрироваться.
Мегакапча

На счёт кошка или собака… у меня 1000 прокси, в итоге по статистике 500 правильных ответов. Красота в ущерб качеству!
Это каптча, а какая то проверка эрудиции ко всему прочему :D
UFO landed and left these words here
UFO landed and left these words here
она самая, а вот картину я бы не вспомнил, если б третьяковку не ходил в том месяце
Ну тут по-моему машине при помощи поисковика проще и быстрее ответить, чем человеку)
Вторая - тоже неплохая идея, кстати, если среди ответов сделать 10 имен, где только одно - женское, например:)
Лучше уж задать так вопрос: что это за животное? И поле input.
Но все равно такая капча будет хуже обычной, потому что пусть даже будет и 1000 вариантов вопросов (картинок) - беребрать их можно будет очень быстро.
А капчи на сложение - вообще полный бред.
Спрашивать — тяжело. Варианты ответов: кот, кошка, котяра, котик, кошак, рыжий кот, маленький котёнок, полосатый мурзик, ... и т.д.
Сомневаюсь что найдутся люди, отвечающие вместо "кот" или "кошка" - "полосатый мурзик".

Можно добавить что "животное мужского пола".
Найдутся. Посмотрите, как люди пишут свои адреса e-mail, "чтобы их не нашли боты, собирающие адреса со страниц".
здОрово!
Для тех, кто не понял: там введите рандомные значения и нажмите на кнопку. Реализована вышеуказанная технология.
Эмм... А у вас там много картинок? Берём картинку, делаем хеш содержимого, выясняем правильный ответ. Когда в следующий раз появится эта же картинка - робот будет на 100% уверен в ответе.

Или вы в содержимое файла картинки что-то подмешиваете?
а что мешает считать "схожесть"?... так... первое, что пришло в голову: переводить в грейскейл (с определёнными коэффициентами) + поиграться с уровнями контраста, а потом считать процент отклонения...
Части изображения довольно значительно смещаются по геометрической сетке, что искажает цвет соседних полей "ломаемого" даунсемплированного варианта. Искажение дополняется сдвигом каждого канала на величину до половины диапазона (можно тоже делать волнообразно). Пойди, узнай, в какой сектор b/w и т.п. конечные пиксели упали, и какая между соседями "общая" разница. Сам диапазон можно также масшатбировать, мешать каналы, накладывать шум в промышленных масштабах (хоть текстуру сверху) — фишка в том, что на фотках без играющих роль мелких деталей моск всё схавает, ибо больше важен общий образ (в отличие от текстовых каптч).
Идеек как хорошо поиграться на выдающихся адаптивных возможностях человека воз и маленькая тележка но, по-хорошему, нужно сразу писать ломалку и гонять до умопомрачения. А времени пока мало.
Примерчик же старенький и даже недоделанный, чисто как пища для размышления.
продолжите ряд:
1, 2, 3, ...
январь, февраль,...
Зима, Весна, Лето, ...
Понедельник, ...

и сделать это в виде картинки

PS: если добавить ряды посложнее, будет защита и от "дебилов"
ваша база списков будет ограниченной.
в итоге достаточно натравить робота 10000 раз, выбрать вопросы-уники, дать оператору за 5 баксов на них ответить, и ваш сервис в заднице)))
картинка все заметно усложнит
с цыфрами кол-во вариантов бесконечное:
2, 3, ..., 5
2, 4, 6, ...
0.2, 0.3, 0.4,...
если картинка без мусора, то работаем по простому хэшу этой картинки, если с мусором - то сложнее.
под "бесконечные" цифры же пишется алгоритм в 10-15 строк.
ИМХО картинка без мусора не имеет смысла...
а вот алгоритм в 15 строк в студию!
2akira
обе идеи старые, защищают не на 100%..
если подумать немного самостоятельно, то можно без труда придумать более стойкую капчу ;)
UFO landed and left these words here
А почему бы не использовать не животных а покемонов? Их уже около 500 штук, поэтому подобрать сложно будет =)))
И не пускать пользователя, пока ВСЕХ не отгадает? :)
UFO landed and left these words here
Ну правильно, откуда нормальный человек знает всех покемонов :), а вот ИИ это знать интересно, для оценки умственного потенциала человечества :)
Я вот знаю только одного из них=)) Меня никогда не пустять))
А кто такие покемоны? Я слышал их по телеку показывают. А я телек уже года 4 вообще не смотрю.
Самописная реализация защитных механизмов хороша тем, что под неё мало кто отважится переделывать свои скрипты, так что дерзай.

Комбинировать способы - лучшее решение. Пусть случайно выпадает одна из множества разных по принципу действия проверок.

0. Генерировать все картинки одним скриптом c наложением шума и случайным, не очень заметным глазу изменением размера:
img_bild.php?b=ed1008ca4f91bb1a0a190aa230f79a05

1. Загадки:
Три, да три, да три - что получим?

2. Арифметические примеры (картинка+текст):
Каков результат арифметической задачи в 1. строке?
100+64-46=? \
12+156-2=? = Картинка
17+37+49=? /
Используйте только цифры при ответе. Сложите получившееся число с семью. То есть, если результат равен пяти, введите цифру 12.

3. В тексте подменять русские буквы схожими по написанию английскими.

4. Высылать код подтверждения не на мыло, а в один из IM.

6. Не использовать чекбоксы, выпадающие списки и прочие подсказки

... и так далее.
> 4. Высылать код подтверждения не на мыло, а в один из IM.

а это не одно и тоже?
только что разжился в мыслях оригинальной идеей....

не КТО на картинке, а СКОЛЬКО на картинке кошек?...
Собак?... Вилок и листьев?....

Я посмотрю, как бот будет определять на цветном фоне кошек, да.....

иногда они так ныкаются, что и человеку трудно найти =)

как вам идейка? еще не видел =)
Я уже видел :) krolik.pp.ru и я уже обдумывал такое.
Чего искать, достаточно комментарии читать.
Можно взять картинки как из Науки и Жизни и спрашивать сколько на них отличий.
хм.... не уверен, что в науке и жизни, но "найдите 10 отличий" меня всегда убивало.... =/

а как вебмастеру искать и делать эти картинки?....

для варианта с подсчетом - просто надрать милых фоток с котятами и уменьшить... =)
Ну это для ботов в принципе тоже не сложно.
Вычитаются одна картинка из другой. Места, где есть отличия будут отличаться. Бот считает число таких областей, вот и всё =) Хотя, возможно, одного вашего сайта спамеры скрипт разрабатывать не будут...
и сколько на капче поместиться кошек? 10? перебор опять легко устроить...
Так есть же предел размеров, ну сколько вы натыкаете туда кошек? 10, 20, 100??? А взломщик будет действовать топорно методом китайцев из анекдота про пароль Мао Цзедун. Кстати, при большом количестве предметов, человек замахается их считать, поэтому вы будете сильно ограничены в выборе предельного количества (я думаю не больше 10-15 предметов).
ладно, тогда делаем как у людей - после попытки ввода выдается уже новая капча, предыдущая сессия считается невалидной.
пусть у нас десяток разных картинок с кошками, десяток с собачками, еще можно пингвинов нарисовать...
тогда вероятность угадать роботом - 1/n
теория вероятности в действии. Роботу нетрудно попробовать тысячи раз, хоть один да угадает.
Если объектов будет немного, компьютер может просто угадывать. Даже 5% успешного прохождения теста компьютером делает вашу проверку бесполезной.

А если рисовать много, то не каждый человек захочет их считать
UFO landed and left these words here
может сразу лабораторные работы по вышке подкладывать?
А была такая капча. Там надо было предел от трехэтажной дроби вычислить.
Да какая разница?! Везде, где надо вводить число работает метод тыка*кол-во участников...
50% процентов правильного ответа при случайном выборе...
просто поменяй маску шрифтов
так делает рапидшара
Как вариант можно вывести какой-то натюрморт из 10 предметов с просьбой написать названия любых, скажем, 5 предметов с картинки. Или назвать обведенные предметы. Мозги вычислениями напрягать не надо, глаза портить в попытках разглядеть что за буква - тоже. Что-то не видно - и фиг с ним. Для компьютерщиков такой ввод займёт секунды, а робот должен спотыкаться.
Правда такая штука довольно трудоёмка на предмет создания картинок... Хотя если взять травлёные клип-арты, то вполне решаема даже алгоритмическими методами.
на сайте "Киевстара" реализовано нечто подобное. реализовано достаточно неудобно.

C gdsa.rpgmaker.ru.. Что странно, оно довольно-таки непроломно, несмотря на ограниченность 16-ю комбинациями.
Ну вот, Хабр мне наврал про теги. А я так старался показать http://dimituri.et.lv/temp/gdsa_captcha.gif
плохая капча)
по теории вероятности 50% ответов будет правильными)
любой вариант капчи с выбором из списка подвержен простой атаке - перебору "в лоб" вариантов ответов роботом.
как только роботописателю потребуется спам по вашему ресурсу, бот обойдет эту капчу.
Где-то видел статью, там при помощи каптчи распознавали куски сканов из книг. И библиотеку помогали создавать, и безопасность высокая :)
Тоже видел этот пример или похожий. Там брались сканы книг, с помощью обычных программ распознавания выделялись сложные места (в которых программа не смогла выполнить распознавание), кусок скана использовался в качестве CAPTCHA. ИМХО, это довольно кривой способ, так как, во первых, в CAPTCHA и распознавании текста из книг всё-таки разные принципы используются, во вторых, текст заранее должен быть распознан.

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

Кстати, у кого-нибудь получилось вот эту CAPTCHA распознать: http://www.captcha.ru/kcaptcha/
- выглядит надёжно.
суть в том, что там благодаря массовости становилась возможной именно помощь в пополнении библиотеки. Т.е. человек писал текст, который выглядел сравнительно нормально и давно был распознан, плюс слово или фразу, что машина не смогла распознать. Ну даже если безопасность не выше, чем в простых капчах, полезность ее больше.
А что скажете про капчу с координатами клика на картинке?
Пример: Отображается картинка например 150х150рх, на ней 10х10рх круг, квадрат, или что угодно за фигура какого-то цвета. И предложение кликнуть по ..... При клике js вычисляет координаты клика на картинке и передает в скрипт, а там уже идет сравнение с координатами обьекта который был выведен на картинке.
Есть 1 небольшой минус - сравнительная сложность реализации. Хотя, в принципе, реально.
Да нет, кстати. Буквально за пару часов можно реализовать, пожалуй. Другое дело, что это не будет работать без Javascript, что коробит моё чувство прекрасного.
Я о том же. Я же сказал "сравнительная сложность".
Ещё как будет. <map> и <input type="image"> ещё никто не отменял ;)

Идея интересная, надо будет на днях попробовать :)
Кстати, вариант как усложнить это: берётся подложка (можно много разных подложек), на которой размещаются объекты (штук 5 разных объектов из коллекции в штук 20 объектов, можно больше). В качестве объектов могут выступать картинки, которые накладываются на подложку с варьирующейся степенью прозрачности, а также повёрнутыми под разными углами.

Среди объектов также могут быть буквы и цифры.

А если пользователь не может по каким-то причинам нажать нужный объект, можно просто попросить перечислить нарисованные объекты.
а обязательно ли во всех случаях пользоваться защитой? иногда помоему можно сделать форму защищенной и без назойливых "проверок".

например я делал защиту на одном из сайтов, когда открываешь форму добавления - в сессию запоминается время открытия страницы добавления формы и после отправки формы проверяется время, прошедшее с момента открытия предыдущей страницы - если переменной нет или она меньше определенного времени(которое необходимо человеку, чтоб заполнить форму) - его выбрасывает, допустим, на главную. А переменную обнуляет(если она задана).

Собственно, роботов пока не видно :) все вроде тихо-мирно :)
плюс, после 3ех неудачных попыток, можно блокировать ип на час. тогда перебор уже станет либо трудоемким процессом, либо очень медленным.
UFO landed and left these words here
если новая сессия, тоесть нету переменной с датой - ничего не добавится. :)
UFO landed and left these words here
смысл всего того, что я описал - уберечь сайт от спам-роботов.
идентификатор сессии сохраняются в куке, верно. Привязка по айпи не нужна, зачем? ну уибили вы сессию - если вы нормальный пользователь, то при попадании на страницу добавления формы вам в сессию создастся переменная, если ее не будет при проверке формы - вы ничего не опубликуете. если вы удалите куку - вам просто придется еще раз зайти на страницу с формой и заново все добавить и засабмитить форму. где что непонятно? :)
UFO landed and left these words here
А как насчет попросить пользователя дописать последние 2 буквы. К примеру, форма будет выглядеть так:
Животное на картинке - это кош[__].
Робот перебирать значения будет дольше чем в случае с радиобуттонами.
набрал "кош" в гугле, первое что он мне предложил это кошки, второе — кошка :))
просто наблюдение
Хотите сказать, что робот будет обращаться к гуглю? интересно...
нет, просто оригинальная идея. Не каждый робот додумается)))
ЗЫ: на запрос "ко" гугль реагирует совершенно стандартно.
Представляю, новая каптча: "Далеко-далеко, на лугу пасутся ко. кто?" (:
Ну, как ни странно, Гугл на запрос «Далеко-далеко, на лугу пасутся ко. кто?» выдал кучу интересных неверных вариантов, что конечно может застопорить робота... Но согласитесь — Вы ведь не так и много знаете достаточно распространенных (а это важно) загадок такого типа? На большинство других ответ Гугла будет весьма однозначен и в то же самое время верен ;)
Глупая дискуссия, любую капчу когда-нибудь сломают.
Мне нравится капча с простыми арифметическими задачками, в тексте которых нет ни одного символа, представляющего собой цифру, а некоторые русские буквы заменены на идентичные по написанию английские, например "Ввeдитe в этом поле сумму остаткa oт деления пятидесяти на семь и пpоизведения чисел сорок пять и семьдесят два". Правда, на сайтах для блондинок такая капча вряд ли будет способствовать увеличению числа зарегистрированных пользователей.
Ещё одна капча
http://nzeemin.livejournal.com/207995.html

Собственно, все капчи что я видел показывают обычный текст, плюс искажения в той или иной форме. Предлагается следующее: рендерить трёхмерную сцену с выпуклым текстом (обычный текст плюс толщина букв по третьей координате), несколько повёрнутым от наблюдателя на случайный угол (в определённых пределах, разумеется). Текст делаем полупрозрачным, добавляем ещё ряд объектов для зашумления (например, пузыри разного размера в случайных координатах). Текст и объекты делаем полупрозрачными. Фон лучше использовать нерегулярный, например, фрагмент фотографии. Ну и наконец, трёхмерные эффекты — туман, отражения, круги засветки от источника света направленного на наблюдателя итп. Т.е. фишка в чём: распознавание трёхмерных объектов на порядки сложнее чем плоский OCR, при этом человек справляется с таким распознаванием без напряжения. Конечно, всё это потребует привлечение OpenGL или DirectX, да и генерироваться это будет медленнее, но результат-то стоит того. Да и в любом случае применяется кеширование рисунка после генерации.
Представил себе:
"Подождите... Идет генерирование капчи... Первый проход... ОК. Расчет геометрии... ОК. Наложение карты отражений... ОК. Расчет освещения... ОК. Антиалиасинг... ОК.
Введите текст с картинки" ))
А так, конечно, хорошая идея.
или:

Подождите...
Идет генерирование капчи...
Первый проход... ОК.
Расчет геометрии... ОК.
Наложение карты отражений... ОК.
Расчет освещения... ОК.
Антиалиасинг... ОК.
Ошибка: Извините, Ваша видеокарта не поддерживается нашим сайтом

:)
Их можно в свободное время рендерить, а при входе выдавать готовую .
Присутствие кэширования таких изображений, думаю, перечеркивает все плюсы риэлтайм рендеринга на сервере.
UFO landed and left these words here
UFO landed and left these words here
Кстати - оценка уязвимости текстовых капчей: http://www.ocr-research.org.ua/list.html
UFO landed and left these words here
UFO landed and left these words here
А flickr? Там же добавляется по 3000 изображений в минуту — можно постоянно пополнять запасы)) Или же по тегам определять автоматически. ;)
Да ладно, тоже мне непроходимая. Удивительная напроходимость.
На вечер возни.
интересно было бы поподробнее.
вы предлагаете картинки распознавать или другим каким путём?
Как сделана эта капча:
есть два набора картинок, определенного размера. Один - с живой природой, второй, соответственно, нет.
Как ломать: сесть, написать бота, который выкачает все картинки, и руками приписать им "соответствующий тэг".
Они предвидили этот шаг, и чтобы быт не мог понять, какая перед ним картинка - на картинку случайным образом наносится логотик киевстара. Но коэффициент корреляции это меняет несущественно, раньше 100% точек совпадало, теперь 60% - все равно больше, чем с любой другой картинкой.
«написать бота, который выкачает все картинки» — Вам не кажется, что «все» — это несколько неопределенно и устрашающе много?)
Гарантированно не больше, чем потратит ИХ человек, чтобы добавить их в систему.
Отношение один-к-одному - очень неплохое.
я новичок в области web-программирования, посему вопрос к знающим людям: а кто-нибудь пробовал генерировать капчу на флэше? насколько это трудоемко и ломаемо? Скажем, можно ведь выводить какие-то символы добавив к ним эффект вращения вокруг какой-нибудь оси (псевдо 3D) с произвольной скоростью
Теоретически, такая идея имеет право на жизнь. Единственное, что может ее притормозить, это отсутствие плагина на браузере, хотя этот вопрос можно и решить.
UFO landed and left these words here
Никогда подобным не занимался, но, возможно, имеет смысл сделать некую вариацию на тему "Подержите мышку более 3 секунд над зеленым квадратом". Т.е. вообще не требовать от пользователя что-либо вводить вручную. Результат, естественно, помещать в hidden-поле, но никто не помешает генерировать, к примеру длинные строки значений для разных вариантов.
Примерно как я представляю себе это: генерится картинка с несколькими простыми разноцветными фигурами, к ней генерится javascript, который должен каким-то образом проверять, к примеру положение курсора мыши. Плюс для всего этого хэш из, скажем, 40 пар ключей-значений в виде "A#f4_r" => "3.FF daRR45h!%". Соответственно, правильное значение только одно и будет выбрано скриптом только по определенному условию.
Можно разнообразить действия пользователя, к примеру "Нажмите на синий круг два раза и один раз на синий треугольник в заданном порядке".
К минусам этой системы можно отнести относительную сложность реализации (это кого-то пугает? :)
К плюсам - простоту для пользователей, практически не ограниченное число комбинаций, большой потенциал для расширения.
UFO landed and left these words here
Капчи с картинками делать нехорошо, потому что у пользователя в браузере могут быть отключен показ картинок.
UFO landed and left these words here
Каптчи без картинок сделать сложно(сложно прибумать такое чтобы не взломалось при желании легко), большинство современных каптч картинки.
И что там на картинке?! )))) Тут как в психологическом тесте, каждый что-то для себя увидет))+ картинка не меняется))
По моему это прикол — капча статична))
У Смрнова еще круче идея была - http://nudnik.ru/img/imhuman.png :)
Судя по тому, что я долго пытался подобрать незанятое ИМЯ (а не подпись к капче), вводя его цифрами, сайту эта капча не помогла :)
у себя на сайте (форум студентов химиков) планирую поставить капчу - назвать элемент (ввести название) по его символу (картинка).. для тех кто не знает - чуть ниже ссылка на картинку с таблицей менделеева..

как вариант - называть по ИЮПАК различные химические соединения (которые кстати можно генерировать текстом - вряд ли есть робот умеющий называть хим соединения по формуле).. например "C2H5OH" (ответ "этанол")..
> которые кстати можно генерировать текстом - вряд ли есть робот умеющий называть хим соединения по формуле

Что мешает использовать справочник?
слишком большое разнообразие таких соединений :).. в принципе можно и справочник создать но алгоритм - проще..
Вот, например, Киевстар украинский использует картинки, из которых надо выбрать определенное кол-во изображений живой природы - http://www.kyivstar.net/ru/sms/
откуда столько популярности у сайта, уже третий раз ссылка тут
зы: в опере на той странице вёрстка кривая :)
Где-то год назад у них была обычная цифровая каптча и текст каптчи лежал в куке ))
Значит были серьезные прецеденты, которые заставили изменить каптчу... ;-)
уже достали со своим киевстаром :) У меня в NN вообще картинки не отобразились, поэтому Киевстар идёт лесом :)
Идея не нова - как уже писАли тут - http://research.microsoft.com/sn/asirra/
Там же разобраны - http://research.microsoft.com/sn/asirra/security.aspx - подробно достоинства и недостатки, вероятность взлома и т.д.
Если вкратце - для защиты от брутфорса нужно много изображений (в реализации от МС - 12, что дает вероятность всего 1/4096 - не так уж и мало), ну и нужна большая база картинок (МС использует базу от Petfinder.com - больше 2х миллионов изображений.)
В Asirra плохо то, что изображения очень маленькие и нужно провести по всем чтобы понять где кошки. Если увеличить их до 80x80 скорость работы с капчей значительно возрастет (возможно там можно и настроить я не смотрел).
Ну это детали реализации. 12 картинок 80х80 не во всякий монитор влезут :)
Уменьшать количество картинок нельзя - критично по безопасности.
80 это на глаз, на самом деле размер нужно подбирать экспериментально, для различного разрешения монитора можно использовать различный размер и расположение картинок, для совсем маленьких переходить к оригинальному варианту.
Там раньше были простые обычные хорошо видные картинки. Это они, видимо, всеобщему ajax-психозу поддались и идиотские всплывания устроили.
я тоже было подумал, чего это они... и вот после прочтения вашего комментария осенило. и на 80х80, и на 100х100, могут случаться моменты, когда определить будет сложно/невозможно. поэтому полноразмер всё равно нужен, и раз так, то на превью решили съэкономить.
А на одной картинке я увидел животное, которое как-то раком изогнулось, что я вообще не понял, кошка это или собака.
UFO landed and left these words here
Помоему идея отличная, юзабельность вообще несравнима с искореженными буквами. Вопрос в количестве картинок. Как вариант решения: договариваемся с каким нибудь сайтом тематических фотографий или обоев. И скриптом раз в день(неделю, месяц) берем у них новый набор картинок. Уменьшаем до нужных размеров, качество пострадает но не критично.
Вводить по моему нужно название животного а не выбирать, при переборе просто работает теория вероятности. Периодически менять категории, варианты неограниченны, от марок автомобилей до всем известных картин.
На каждую категорию держать несколько ответов(кот, кошка, котенок), подойдет любой. Кстати вариант для стартапа, этакий генератор капатч который будет их выдавать сайтам, всем разные, постоянная смена, большая регулярно обновляющаяся база изображений, маленькая подпись на каждой капатче :)
А вот статья была на Хабре о капче с opera.com, что думаете про такое?
А у меня почему то не нажимается кнопка проверить... и кнопка "кошка" даже не выделяется (
Этот текст мог написать только человек! =-)
http://media.aplus.by/2007/10/08/samye_sumasshedshie_captcha.html

Вариант?
Я на своем форуме на базе phpbb решил проблему регистраций ботов следующим образом:

Нужно зайти в файл /includes/usercp_confirm.php
Найти функцию randomise:

// This is designed to randomise the pixels of the image data within
// certain limits so as to keep it readable. It also varies the image
// width a little
function randomise($scanline, $width)
{
$new_line = '';
$start = floor($width/2);
$end = strlen($scanline) - ceil($width/2);

for ($i = $start; $i 0, 205));
}
else if ($pixel > 190)
{
$new_line .= chr(mt_rand(145, 255));
}
else
{
$new_line .= $scanline{$i};
}
}

return $new_line;
}

Произвести следующие замены:
0->110
205->130
145->50
255->250

Итого: заменены 4 числа в коде. Других изменений делать не нужно.
Как это будет выглядеть можно посмотреть на моем форуме

Если вам не нравится контрастность, можете сами подобрать эти числа, чтобы былу лучше видно, но боты все равно ен могли бы зарегистрироваться.
трудность для человека не значит трудность для машины, почему то многие об этом забывают. Машине турдно работаьт с произвольными обьектами, которые не подходят под заданный шаблон букв. Искривления и пр. Если сделать буквы еле читаемыми за счет шума и резкости то жто буджет сложно для человека а не для машины. Машина просто поработает с различными алгоритмами и обнаружит границы букв, дальше сопоставление с шаблоном. В вашем случае найти границы букв достаточно легко, они отличаются от фона, а искажений букв нет.
Стандартные хрумеры не берут эту капчу. Разве это недостаточно для практического применения в ограниченных объемах?
У меня на форуме это решение работает уже почти год.

Я, конечно, понимаю, что в почете сложные алгоритмы, но простые "локальные" заплатки тоже неплохи.
Не в сложности дело, я как раз ценю именно простоту, чем проще решение тем оно красивее. Но я говорю о взламываемости вообще, т.е. сколько усилий потребуется чтобы персонально сломать вашу каптчу. А стандартные много чего не берут, вернее они берут только стандартное(например стандартная каптча для phpBB наверняка взламывается сразу просле изменений). Если нужно защитится от общего спама то ваш метод вполне пойдет, но если за вас возьмутся персонально, вы сэкономите взломщикам очень много времени :) (без обид, я сам иногда пользуюсь этим методом(незначительного изменения стандартного алгоритма), но это не мешает мне его осуждать :) )
Согласен с вами! Но мой форум того не стоит, чтобы кто-то персонально брался за него. Просто было в свое время интересно, как формируется изображение в капче, и я нашел, что достаточно изменить несколько чисел, чтобы можно было регулировать случайный шум и контрастность.

А так... если кто-то за вас займется, НИКАКАЯ капча не спасет. Вот один из алгоритмов: капча в режиме реального времени передается на посещаемый дружественный порно-сайт и там его посетители, стремящиеся получить доступ к эротическим картинкам или видео, скажем, должны распознать капчу. Они ее распознают, код передается на изначальный сайт и вводится в форму. Вот так :)
То есть трудятся уже люди, а не роботы.
Слышал и о таком методе, счас подумал и не придумал способа борьбы, даже самого ненадежного. Может кто нибудь знает? Всякие проверки http ответа по моему не катят, т.к. робот может обеспечить абсолютную маскировку, выступая пользователем он копирует изображение капчи выкладывает его на порносервер(сервер кряков, файл сервер) оттуда получает ответ и уже его передает. Конечно можно пытаться обмануть бота скрытыми полями, но это уже в рубеж обороны, а как защитить от распознавания саму капчу?
Недавно совсем на хабре проскакивала картинка с оптической иллюзией, а что если оптические иллюзии использывать для капч? робот точно не пройдет, только если ИИ написать:)
и ИИ не пройдет, у него же глаз нету, вот только однозначных оптических илючий достаточно мало, можно банально выбрать все и дать человеку распознать, дальше сравниваение картинки с картинкой для робота.
А ведь это гениальная и изящная идея которая сильно ударит по спамерам.
Вместо радиокнопок лучше использовать ввод текста. Только такой метод должен использоваться на редких для одного пользователя действиях действиях, например при регистрации.

На картинках можно отображать самые известные предметы, названия которых неимеют синонимов ни на родном языке ресурса ни на английском (изображение автомобиля например неподойдёт).
За первые два раза робот вычислит соответствие картинки ответу. Или вы будете генерить кошку каждый раз? :)
Я думаю каждый, и не только кошку, можно и другое, но все равно у компьютера достаточно большой шанс угадать, а если большой шанс есть ничто не мешает сделать такое количество итераций чтобы вероятность угадать стала 1.
Здесь всего два варианта ответа, и робот может тупо выбирать случайный вариант и этого ему хватит. Даже если вариантов будет 20, то 1/20 правильных ответов - это тоже неплохо, а вот человеку уже будет очень сложно
Так давайте возьмём 20 вариантов, но не радиокнопок, а чекбоксов. На картинке от 1 до 20 животных: каждое из 20 возможных (кошка, собака, жираф, зебра, рыба, тигр, олень, кролик...) либо появляется, либо нет. Вопрос - отметьте галочками животных, которые есть на картинке. Имеем 2^20-1 = 1048575 комбинаций. (Совсем пустую картинку лучше исключить, чтобы не запутать пользователя.)
UFO landed and left these words here
Фух... дочитал.
На самом деле все просто. Хабрачеловек на вопрос "Кошка или собака?" ответит - НЛО ))
прогресс каптчи ведет к прогрессу Искусственного Интеллекта. айс. :)
Очень понравилась идея, захотел реализовать, но возникла проблема, может быть я ошибся с чем-нибудь?

Итак, если мы используем определенное множество изображений, для примера 3 или 4, то при сохранении этих изображений получается разный размер картинки. Тогда для создания робота необходимо просто вычислить размеры картинок вариантов и все.

Согласен с тем, что никто не будет изменять работу роботов для отдельного сайта, но если он очень популярен? Тогда этот механизм не подойдет.
Увы, для разгадывания капчи могут быть использованы и непосредственно человеческие ресурсы.
Идеальная капча должна быть разрешима (человеком) только в контексте сайта, на котором она установлена, и терять смысл будучи от сайта оторванной. Но таких еще не видел.
Да, действительно, единственный выход фильтрации спама — задавать вопросы в тему (т.е. на форуме вопросы по программированию), но это может остановить многих людей, которые хотели бы зарегистрироваться, но не имеют этой возможности ввиду недостаточных знаний в данной области.
М-да, дожили, человек с машиной справиться не может :))
UFO landed and left these words here
Идея в текщем виде плохая. Прежде чем писать такую каптчу следует подумать над тем как работают спам боты.

Боту пофигу сколько запросов отпарвить. И если у Вас всего ДВА варианта ответа, то 50% бот запросов будут проходить.
Only those users with full accounts are able to leave comments. Log in, please.