Да отлично придумано, вот только почему не сделать фотки побольше, чтобы можно было не смотреть на увеличенное изображение, стало бы еще быстрее (нифига не разберешь, если стоит 1600x1200, даже на 1280х1024, распознаются не очень надежно)
Для надежной защиты нужна большая база котят, собачат и крокодильчиков, иначе можно сделать бота который будет узнавать известные ему фотки.
Угу, типа маленький аватар с фоткой (именно фоткой!) животного, явно будет прекрасно работать.
Главное чтобы разработчикам не попала в руки энциклопедия экзотических животных :)
Животных, насекомых, птиц. Много и не обязательно породы. Достаточно различать папугая и цаплю. А животного можно не целиком давать а кусок, к примеру тигра можно узнать и не видя его в полны рост, морды с шеей вполне хватит.
И почему только животные, есть еще деревья, кирпичи, фрукты и т.п.
Вопрос не в том сколько их, отношение времени пополнения словаря, к времени, которое тратит спамер на определение образа.
Если вы их собираетесь сами фотографировать, то вы уже проиграли, т.к. вам нужно потратить на каждую фотографию несколько минут, а спамеру секунды.
Можно было бы использовать flickr или гугловский поиск по картинкам, но они не релевантны.
конечно мало
цифр и букв намного больше - однако они для ботов уже никакого значения не имеют
конечно, распознавание тигров и обезьян сложнее, чем цифр и букв, но это лишь дело времени
Если я не ошибаюсь, то, например, Rapidshare выдает ссылку на файл, даже если ты набираешь букву О вместо изображенного нуля. Идея с картинками очень интересна, но и традиционные методы буквенно-цифровой защиты, если их оптимизировать с учетом "поблажек" для наиболее частых ошибок пользователя, могут еще долго успешно работать.
Имхо проще использовать что-то вроде http://ocr-research.org.ua/. Ребята конечно уже начали перегибать палку в последних версиях, да и шутка не бесплатная. Но добрый товарисч demiurg написал сампл
Сампл demiurg'a выкладывать не буду ввиду его нецензурности :)
там версии аж до 0.7... Последнюю вообще сложно воспринимается.
Идея хорошая, только большинство идей с целью улучшения доводятся до такой степени, что идеи становятся провальными.
На Хабре уже обсуждали какого-то украинского гения, написавшего http://passport.bigmir.net/registration/
Лично проверял, картинки распознаются на раз. Причем распознавалка не знала, что ей могут такое подсунуть, а просто взяла и распознала :)
Единственный минус в том, что против "индивидуального" распознавателя эти методы не пройдут. Т.е. например если будет задача подбора картинки с надкушенными яблоками, то вполне можно применять фиксированный набор контуров для распознавания. И т.д.
Коли используются латинские буквы в сочетании с цифрами, то просто надо использовать однозначно читающиеся символы, и всё.
А то я, вроде и не робот (роботы же непишут такие заумные комменты, прим. автора коммента), а иногда только раз на 3-4 правильно прохожу проверку :)
Это не совсем правильное решение.
Наверняка есть люди которые не знают всех распространённых языков, но хотят например скачать что-нибудь с немецкого трекера. При обычной ситуации зарегистрироваться не сложно, но вот когда видишь яблоки-кружочки...
Я бы предложил в это поле вставлять арифметический пример 45/5=
Ответ на этот пример и вписывать в нужное поле.
Признаюсь я не могу правильно расценить ваш ответ в виду того, что я далёк от практической части вопроса...
Может быть вы уточните? Неужели это не возможно?
Наоброт, это много где реализовано. Но как вы думаете если бот распознает цифры 45 и 5, а также значек деления между ними, разве для него будет проблемно произвести операцию деления 45 на 5?
Ну, а представь задачу для спамера - 10 000 ресурсов и для всех распознавание по маскам сделать? Можно ведь не только фрукты пихать, у кого фрукты, а у кого самолеты и ящерицы.
Это тебе не циферки распознать при помощи стандартных мат. методов.
Сам как разработчик сталкивался с такой проблемой.
В итоге пришел к мысли что если захотят сделать бота именно под тебя - то сделают без проблем..
Пусть даже надо будет из 3 картинок выбрать котенка или яблоко. Ну будет бот всегда выбирать первую картинку. в итоге 1/3 всех попыток пройдет..
В конце-концов сделал простую защиту, которая для бота, конечно, не сложная, но и регистрирующимся проблем не создает..
Написать программу, которая умеет "подделывать" кукисы к сожалению очень просто. Например к PHP можно установить библиотеку CURL, в ней исчерпывающий функционал по работе с http-запросами.
А откуда бот знает что там спрашивают, для начала надо распознать. К тому же можно сформулировать так что будет понятно человеку, но возникнут сложности у бота.
Неправда ли - земля вращается вокруг солнца?
Или
"Сколько чисел в серии паспорта?"
да речь идет об индивидуальном подходе..
если у тебя будет из 5 вопросов хоть 1 вопрос в стиле "да/нет", то бот будет постить тупо "да".. шанс что выпадет вопрос "да/нет" - 20%.. что угадает ответ - 50%... итого 10% - хороший показатель спамеру..
Да и опять же.. Если захотят заспамить конкретный ресурс, то не пожалеют времени и обновят страницу хоть 100 раз, чтобы увидеть все возможные вопросы..
Арифметические выражения - переводятся сначала в польскую запись, потом считаются.
Текстовые выражения - сначала человек сидит, сутки набивает базу таких выражений и ответов, потом засчет базы уже спамится сайт.
Ничего особенного, на самом деле. =) Трехмерные картинки - это уже интереснее.
В любом случае всякая защита должна быть не намного дороже стоимости обхода данной защиты :) Взломать можно все, но стоимость данного решения может быть намного выше прибыли от обхода защиты.
Мне кажется, если выводить на картинке простые вопросы, например: "Введите три последних символа этой строки", "Напишите количество букв и в первом слове этого предложения", "Введите количество букв второго слова этого предложения", то такая защита будет довольно эффективна даже для индивидуального взлома. Так как количество таких вопросов, варианты ответов, вариации формулировок - огромны, создание базы ответов практически невозможно. И реализуется очень просто.
Существует только проблема для иноязычных пользователей.
Ну в принципе, написание индивидуального бота возможно под такие формулировки, другое дело что можно предожеие сформулировать несколько иначе употребляя разные вопросы.
Тут два варианта.
Либо внутренний javascript по нажатию, с различением eventX и eventY, чтобы они лежали в определенных участках картинки.
Либо внешний POST или GET с передачей x и y, если поставить на этой картинке input type='image'. Вроде того, что сначала заполните поля, потом нажмите на огурец (или лошадку).
Для первого варианта сначала изучается javascript-код, затем ищется наилучший алгоритм: либо искать определенные цвета, либо варьировать x и y. Потом просто вызывается соответствующее нажатию кнопки событие.
Для второго - по отсылается POST или GET с варьированием X и Y.
Но ведь картинку нада сначала найти. Выносим картинки в див (который в коде находится в произвольном месте и позиционируется через цсс) - как бот будет с такой задачей справляться?
хотелось бы подробностей. тема для меня актуальная (со сторны защиты). картинка ведь может иметь совершенно разные атрибуты, которые могут генерироваться случайно. парсить цсс боты умеют?
CSS не все браузеры парсить умеют :)
Но найти ее можно всегда. Один из способов - менять место вывода картинки, и добавлять "ложные" (невидимые пользователю). Но опять же не панацея, т.к. набор ваших методов "прятания" ограничен, и легко описывается через RegExp.
вопрос - на сколько легко? ;) понятно, что если бота натравить на определенный ресурс - не спасет даже капча (об этом и выше и ниже говорится). Тогда есть ли какой-то смысл в ней? Может не стоит напрягать лишний раз пользователя?
Пока, оставив в форме обычную кнопку, которая прячется через цсс, и включив для нормальных пользователей картинку (в виде кнопки) у меня почти все боты пролетают как фанера.
Каким образом RegExp выдернет картинку со случайным именем? только по тому принципу, что она лежит в диве? Так таких картинок может быть много. Класс для стиля можно задавать тоже случайный. Мне кажется, что такой способ дает примерно такой же процент защиты, что и обычная капча. Только не заставляет пользователя человека напрягаться.
Легко должно быть настолько, чтобы окупилось написание бота. Все как обычно упирается в бабло. Если ботов фильтровать по времени заполнения формы, по "виденью" невидимых полей, по неумению парсить CSS и выполнять JavaScript, то стоимость неотловленных ботов возрастает, а количество уменьшается. Но если ваш ресурс стоит того, чтобы потратить эти деньги, то боты все равно придут. Но на чистку их "испражнений" потребуется меньшее количество ресурсов, а это опять бабло.
А картинку можно выдернуть по многим критериям: по примерному размеру, по нестатическому урлу (mod_rewrite тут поможет), по размеру, методом исключения, и т.д.
На мелких ресурсах и загрузка каптчи через CSS прокатывает, т.к. "гадить" на них нужно быстро(толку от их ссылок большого нет). Но ведь всегда хочется достичь абсолюта.
Понятно, что достичь абсолютной защиты - не реально (тут вспоминается присказка о левой резьбе ;) ). Но можно к этому стремиться. И разумный компромис в варианте с графическими капчами (имхо) уже начинает нарушаться - человеку часто сложнее распознать текст, чем боту. Хочется как раз постараться достичь хорошего результата, но зайдя с другой стороны - пусть бот ломает "голову", а не человек.
Полностью согласен. Особенно когда такая каптча стоит на постинге, а не на регистрации. За примером далеко отсюда ходить не надо: http://dirty.ru/login/
не очень понял вопрос. тормозит когда - когда бот по картинкам "щелкает"? этого никак не исбежать. или когда страница грузится? так картинки достаточно легкие (я пока экспериментировал ставя только одну реальную картинку-кнопку и одну кнопку-обманку для бота внутри формы).
Вариант с животными - это не вариант. Для спам ботов нужны тесты, которые удовлетворяют ряду условий:
1. По картинке человек хорошо поймет, что нужно ввести в поле
2. Робот не сможет понять, что нужно ввести в поле (из-за невозможности распознать изображение или ограниченности информационной базы)
3. Число вариантов должно быть порядка 10e5 хотя бы. Иначе спам-бот, просто перебором найдет нужный вариант.
Трехмерная запись - наиболее приемлемый вариант ИМХО, хотя тоже подбирается.
Кстати... а боты мышкой вообще умеют пользоваться? :)
+ флеш никто не отменял
А значит можно просить пользователя дорисовать простейший рисунок, ну например домик :)
Я имею ввиду просто одну линию в нужном месте.
Ну это уже вопрос - нужны тебе посетители на ресурсе, или принципиально будешь стоять на том что бы все себе флеш поставили. У меня к примеру он вообще отключен просто, в Опере. Т.к. в рунете на флеше только реклама и мусорные элементы дизайна.
Еще вариант, видел где-то. Предлагается вставить пропущенное слово: жили у бабуси два веселых
Ну или типа того. Можно использовать вопросы типа "Какого цвета красный забор?" и так далее. Но рисованные варианты с кружочками и крокодилами выглядят прикольнее. Кстати, вопрос "Сколько тут кружочков?" можно написать прямо на картинке. Будет еще круче.
"Жили у бабуси два весёлых кого-то" - распознаётся любым ботом, который заточен под ваш сайт. Просто гуглим фразу, и ответ у нас в мешке :)
"Сколько тут кружочков" - тоже. Распознаём фразу, из базы выбираем, что это такое (всё равно у вас бесконечного количества легко распознаваемых человеком фигур не будет), считаем кружочки на картинке, вуаля!
Какого цвета красный забор... Кхм... Ну для русскоязычного ресурса ещё подойдёт... А англоязычные вопросы на сообразительность можно сломать подставлением в бота, заточенного под распознавание фраз...
Например (только что ввёл и получил реальный пример с бота A.L.I.C.E.):
Human: what color is the red fence?
ALICE: Red.
Ну, речь в данном (моем) случае идет о русскоязычном ресурсе. Посему, обучение гипотетического русского бота склонениям и спряжениям выльется в такую копеечку, что ботам будет проще просто игнорировать этот ресурс.
Что же касается набора вопросов, то, во-первых, их можно пополнять/изменять, а, во-вторых, выдергивать угадываемые слова из предложения можно случайным образом. Сегодня первое, завтра десятое, и т.д. К тому же, эти предложения можно писать на картинке, а не только простым текстом. И чередовать, опять же :) В результате написание бота, заточенного под мой сайт, обойдется еще в рупь с копейками. Большими копейками.
Лично я считаю подобную систему (с предложениями и выдернутыми словами) самой удачной.
На вопрос из приведенного примера "Земля вращается вокруг Солнца?" не все дадут ответ :) Из недавнего опроса ВЦИОМ выяснилось, что 28% процентов россиян, считают, что Солнце вращается вокруг Земли. Было опрошено 1500 человек, достаточно репрезентативная выборка. Подробности тут, но чего-то там у них сбоит, так что ссылка может не открыться.
Так что надо задавать совсем уже тупые вопросы, если до этого дело дойдет.
Не все истины являются элементарными для россиян ;) Например, помните весенний опрос, по которому выяснилось, что каждый четвертый россиянин считает, что Солнце крутится вокруг Земли.
А можно же делать капчу из анимированных гифов, запутать там будет побольше возможности.
Ну а на флеше так вообще, такую капчу сделать можно, что и не снилось.
(Тему защиты от ботов не мониторил, если боян - сильно не бейте. Способ только что сам придумал, честно.)
Исходные материалы:
Текстовая база (по сути текстовый файл). Хоть "Война и мир" Толстого, хоть база рекламных объявлений. Главное условие - вполне связная логика контента, желательно без игры слов.
Пример: "Пользователь Василий приглашает вас присоединиться к своему 1-му кругу друзей на Хабрахабре. Ниже текст запроса, который оставил"
Алгоритм:
1) Взять случайный блок текста 1-2-3 предложения из одного места базы.
2) Взять еще одно случайное слово (далее "инородное") из другого места базы. Вероятно, слова короче 4 букв здесь не подойдут.
3) Внедрить инородное слово в блок в случайном месте.
4) Вывести текстовый блок с внедренным словом. Запрос к пользователю: если вы не бот, выделите здесь лишнее слово и скопируйте вон в то поле ввода.
Идея метода: найти логику в литературном предложении это вам не проверка орфографии - тут человек нужен. А уж человек-то это сделает легко. Сами попробуйте.
Пример: "Пользователь Василий приглашает вас присоединиться к своему нужен 1-му кругу друзей на Хабрахабре. Ниже текст запроса, который оставил"
Недостатки:
1) могут быть и "удачные" совпадения (но это надо на практике посмотреть, что там искоренять, в конце концов можно 2 текста предложить пользователю для страховки и будет 2 варианта правильного ответа)
2) пользователь вообще-то должен знать язык: например, сам хоть и могу понять по английски, такой фокус на engilsh могу и не решить :)
Побочный полезный эффект:
1) Раз пользователь будет _должен_ хоть чуть-чуть вникнуть в смысл случайного текста, то почему бы этим текстом не быть контекстной рекламе, которую мы усиленно впариваем всевозможными баннерами?
Вообще-то, есть что-то "иезуитское" в этом... :(
Вероятные добавки-доработки:
а) Базу менять раз в ... (это не сложно)
б) Случайное слово куда попало не совать: например не совать рядом со словами меньше n букв.
в) Более того, можно совать инородное по каким-нибудь правилам, например рядом с глаголом д.б. существительное.
г) чтобы "самые умные" ботостроители для своих гнусных целей тупо не приделывали движки проверки орфографии, давайте развлекем их:
- поменяем в тексте все возможные русские буквы на латинские аналоги,
- выбросим знаки препинания и UPPERCASE(весь текст)
- займемся аналогом олбанского е --> э, я --> "йа", а после этого а --> я
И логика останется и пользователей развлечём. :) В этом случае надобно предупредить пользователей, чтобы при вводе слова пользовали только copy-paste.
PS Для чего это я все тут сочиняю? Мне те самые "картинки" ненравяццо, потому что иногда не грузяццо (бывают особые случаи, но речь не об этом). И вообще "сериалы" вводить - противно.
1. в 100% несогласованном предложении даже человеку будет трудно выявить логику :)
2. Ваш способ имеет место быть, но зачем все усложнять? :) Если текстом можно показать: "яблоко груша молоток", и все станет понятно, даже аннотацию писать не надо :)
Мне не надо _писать_ предложений. :) Есть же произведения отечественной литературы, переведенные в электронный формат.
А еще блоги. :) Впрочем, блоги отпадают - не все умеют связно излагать. Нет, лучше классика.
я и имел ввиду хакеров :)
хакерам будет даже проще, если программист будет брать фразу из открытых источников, из книг, например, то бот может скормить полученную фразу гуглю, а лучше яндексу, он лучше ищет по русским текстам, и выявить несоответствие. но это сложный путь. проще - выкачать и проиндексировать lib.ru и другие подобные библиотеки.
Да не спасут вопросы. Вы будете больше времени тратить на то, чтобы придумать вопрос, который устроит всех, чем хакер который будет добавлять еще пару записей.
Можно конечно и вопросы использовать: А пмоинте штуку о том, что пояродк бкув в слове не иемет занчеиня?
такие слова можно нормировать, хотя бы просто отсортировав буквы в слове, если лень сверяться со словарём. у людей проблем с пониманием будет опять же больше, чем у ботов, например, слово "штуку" я прочёл как "штуку", а не как "шутку", как это, возможно, предполагалось.
Добавлю свои пять копеек, вот люблю я поползать по китайским варезникам (да, жесткая уголовщина но ничего не могу с собой поделать), и если китайцы начнут использовать captcha с "детскими вопросами" или где надо на китайском дописать известную китайскую пословицу, ну его на...
Я все это к чему, к тому что сейчас с каптчами сложился единый стандарт и это есть хорошо, вот честно, вам что, действительно не удавалось зарегистрироваться только потому что вы сто раз подряд не угадали набор цифробукв? Иногда я скачиваю с рапиды несколько десятков файлов в день, когда аккаунт не проплачен, я ни разу не ошибся. А вот с пословицами, поговорками и сформулированными текстом оригинальными задачами это действительно начнет случаться.
К вопросу о китайцах, да, машину можно без проблем обмануть, и вот пусть даже в этом топике придумали мегарешение со 100% защитой от ботов, если я вдруг начну к тому времени заниматься спамботами, то я достаточно просто смогу решить эту проблему, например так: есть сайт, который я хочу периодически бомбардировать, ну или создать там спокойно ждущую армию зарегистрированных аккаунтов, я без особых вложений создаю, ну допустим варезник с порносетами на рапиде, которые автоматически подтягиваются с какого ни будь тематического форума. Для регистрации на котором пользователь должен заполнить анкету... точно такую же как и сайте-жертве, с такой же каптчой, выцепленной оттуда (!!!), итого человек распознает каптчу при регистрации, совершенно не подозревая что она взята с другого сайта, а не генерируется этим, соответсвенно человек получает свои ненаглядные порносеты, а бот на его хвосте спокойненько регистрируется где надо. Вложения нулевые, все довольны.
Достаточно сделать сайт вроде рублик.ру, раздавать за правильную картинку 0,01 WMR заодно и BL поднимешь в webmoney. Даже можно для этой цели сделать типа автоматического сборщика денег, чтобы особо одаренные сидели целый день и распознавали картинки, например, с того же рублик.ру :) тогда денежка будет идти по схеме 0.02 WMR с рублик.ру на твой кошелек с твоего кошелька 0.01 WMR на кошелек сборщика
Тут вот одно западло есть - что с твоего кошелька в результате что то куда то уплывает, а это неспортивно, вот наткнется на твой сайт артель китайцев вышедших из WoW и потом всю жизнь с долгами вебманями расплачиваться :)
Ну, тут все намного проще :) автоматический сборщик будет говорить, что вы ошиблись в 4 случаях из 5, на сайте будет говорить в 3 случаях из 5. Иногда будет выдаваться количество принятых к обработке картинок и по достижению определенной суммы выскакивать ошибка обращения к БД, например. :)
полностью согласен с вышеизложенным.
ладно ещё наши русские сайты, тут более-менее сносные картинки выдаются, да различные шары, там тож ничего, а вот забугорные почтовые службы или форумы - это вапще убийство. Бывает минут по 10 вводишь буквы, пока наконец зарегистрируешься. =(
Идея состоит в том, что компьютер можно легко научить распознавать образы, но трудно научить мыслить.
Так, если компьютер может легко опознать красное яблоко, жёлтый банан, бурый кусок хлеба, кусок мяса, серебристая рыба и зелёную тарелку, а задача выбрать лишний предмет, и лишней подразумевается тарелка, потому что оне несъедобна, то это уже трудно.
Для разгадки таких капчей нужно не только научить программу связывать образы с понятиями, но и связывать с каждым понятием кучу предикатов. Ведь одно и то же изображение может выступать в разной роли. Красное яблоко вполне может оказаться лишним в ряду нерастительных продуктов.
Другой пример, тоже на выбор лишнего: автобус на дороге, бегущий гепард, идущий человек, рыбка в аквариуме... и так изображений 10-15. Что лишнее? А здесь тонкость: все это движущиеся объекты, при этом на картинке движутся направо, и только один из них налево.
Чтобы эксплуатировать такую систему, надо к базе изображений, достаточно большой, добавить базу предикатов (указанных человеком). Естественно, базу предикатов следует держать в секрете.
Использовать вопрос, закодированый в картинке нельзя, т.к. количество этих самых пар вопрос-ответ ограничено намного сильнее чем комбинации цифр или букв.
Распознавание элементарных графических объектов - задача на много более простая чем распознавание текста, так что не вижу и тут проблем для ботов.
Это все хорошо, но вы забываете про доступность контента. Пользователь может быть слабовидящим, а может и совсем не видеть. При этом он может использовать не только голосовой пользовательский агент, но и терминал Брайля, так что предлагать слушать аудиотесты — тоже не выход. Речь идет о веб-сервисах, а их пользователи могут быть самыми разными, в том числе и в плане физических особенностей.
Если не рассчитывать на совершенно тупых посетителей, можно каптчу реализовать так - предложить распознать текст. Например, ту же Войну и мир, одну строчку вывести на картинку с искажениями и попросить набрать этот текст. Если искажения подобрать такие, что Fine Reader не справляется - значит и спамер не справится. Например, использовать семейства рукописных шрифтов.
Последнее время эти буковки с циферками стал раза с пятого правильно вводить. Уж слишком заковыристо стало. Хотя на зрение и криворукость не жалуюсь. Иногда по инерции не сразу замечаю что на картинке не цифровой код, а уравнение. Если так и дальше дело пойдет, то без IQ и высшего образования ни на один сайт не войдешь.
Процент доступных сайтов крайне мал, почти никакой, хотя соответствующее программное и аппаратное обеспечение уже есть. Нынешнее количество доступных сайтов — не повод забывать о том, что люди с ограниченными возможностями все-таки есть, как по очевидным гуманистическим соображениям, так и по чисто экономическим (если сервис платный).
По поводу доли слабовидящих пользователей среди клиентов некоторого сервиса говорить сложно, но вот здесь кто-то предлагал, к примеру, логические тесты («исключите лишнюю картинку»). По-моему, это просто очевидно, что многие люди, которые способны отдыхать и делать покупки в сети, не всякий тест смогут пройти. Откажетесь от таких клиентов?
Знаете, это похоже на защиту от спама, когда адреса электронной почты публикуют в искаженном виде или в виде изображений. Да, это по крайней мере заставит спамеров потрудиться побольше, но пострадают обычные клиенты.
Если сервис нужно защищать от нежелательных сообщений рекламного характера, нужно использовать фильтры, а также отсматривать сообщения (все, либо те, на которые поступают жалобы). Для простого пользователя все должно быть без последствий. Почтовый спам лучше терпеть, чем по-колхозному бороться с ним, привлекая пользователей.
Народ ленивый или просто не хватает квалификации|фантазии для реализации следующих вариантов:
1. Анимационный гиф. Достаточно одну картинку из 5 сделать отличной от цифры, которую надо распознать и ни одна программа не справится. Хотя с анимационным гифом и так вряд ли что выйдет.
2. Выводить уравнение на уровне 1-го класса, типа "2+3" или "5-2". Распознать такое не сложно, придется прикручивать к боту еще арифметические операции.
3. На одном сайте видел буквы-цифры, представленный ASCII-графикой. реализация очень проста, а ботам будет тяжело. Особенно если разбавить разными непечатаемыми символами.
4. Флэш никто не отменял
5. Вместо цифр можно использовать буквенное представление типа "три плюс два"
6. Любая программа распознавания образов изучает массив точек одного цвета и пытается из них составить буквы. Если весь фон и буквы делать с разницей в несколько единиц шестнадцатиричного представления цвета, то человеческому глазу изменения будут малозаметны, а вот для ботов это непреодолимая преграда. Например фон у нас белый, в шестнадцатиричном виде это выглядит как #ffffff. Если цвет каждой точки сделать в диапазоне #ffffff-#f0f0f0, то фон будет грязно-белым, но для человеческого глаза вполне нормально. Так же и сами буквы. Если боты поумнеют, то можно будет фон делать неоднородным светлым (светло-розовый, светло-голубой, светло-желтый, светло-салатовый), а буквы делать из темных неоднородных точек (синий, зеленый, бордовый, коричневый и т.д.). Человеческий глаз будет видеть темные буквы на светлом фоне. А для ботов это будет просто каша разнородных точек.
7. Можно делать строку различных символов и описание типа: сложите каждый 3, 5 или 7-й символ строки и полученное значение введите.
8. Можно прокручивать просто кусочек видео с низким разрешением.
9. В описании DHTML есть такая штука, как графические фильтры. С их помощью можно делать картинки, видимые только после применения фильтра
10. Ява-скриптом можно делать что угодно! Хоть те же снежинки пусть бегают по экрану, а при наступлении какого-нибудь события пусть сбегаются вместе и образуют нужные символы.
1. Анимационный гиф - обрабатывается в том же php, с такой же простотой, как и статичная картинка. Раскладывается на кадры, каждый распознаётся отдельно как простая картинка, но легче, т.к. на одном кадре ТОЧНО только одна буква (иначе пользователю не успеть понять).
2. Такое для ботов совсем не проблема, давно прикручено.
3. Очень просто: равняем один символ к одному пикселю, растеризуем (можно с поправками через заранее составленную таблицу символов, например точки не учитывать - так как мало заметны)
4. Флэш отменяют пользователи в своих браузерах, очень и очень часто.
5. Словарь цифр, словарь арифметических операций и нету капчи.
6. Ключевое поняте здесь - контрастность. Насчёт "буквы делать с разницей в несколько единиц шестнадцатиричного представления цвета" - задаём порог слияния цветов и вуаля - точки отличающиеся на значение меньше порогового считаем одного цвета. Про цветные фоны вообще бред - при распознавании изображения в конечном итоге приводятся в ч/б маски, в которых отсечён фон (а фоном в свою очередь считается преобладающий цвет или интенсивность серого в картинке).
7. Это сложо для пользователя. Для робота тоже не сахар.
8. См. №1
9. Но ведь картинка изначально содержит код, так? И путь к файлу-картинке содержится в HTML-коде страницы? Значит скачать и распознать.
3. Не очень просто, даже совсем не просто. Вариантов представления букв может быть куча. Точки, запятые и еще куча различных символов поспринимаются глазом как более светлые участки фона, другие выглядят более темными. Меняя сочетание светлого фона и темных букв, потом наоборот, мы сделаем задачу рампознавания практически нереальной. Я давно программирую и представляю, что можно получить на выходе. Но даже близко не представляю, как это распознавать.
4. Если флэш требуется для регистрации на сайте, то включить и потом отключить - дело пары минут.
А в целом остается обычное сравнение затрат и прибылей: трудоемкость реализации распознавания некоторых методов защиты окажется выше потенциальной прибыли. Некоторые вещи принципиально возможны, но их трудоемкость превышает разумные границы.
Уже писал, но повторюсь.
Американские ученые из Университета Карнеги-Меллона разработали новую систему, которая должна существенно ускорить процесс оцифровки текста, неподдающегося автоматической обработке в программах оптического распознавания.
Исследователи подсчитали, что пользователи интернета ежедневно распознают порядка 60 миллионов так называемых изображений CAPTCHA (от английского Completely Automatic Public Turing Test to Tell Computers and Humans Apart — полностью автоматический тест Тьюринга для различения компьютеров и людей). Такие изображения применяются на веб-сайтах с целью защиты от программ-роботов, осуществляющих автоматическую регистрацию.
Сотрудники Университета Карнеги-Меллона приняли время распознавания одного изображения CAPTCHA за десять секунд и получили, что ежедневно пользователи Сети тратят порядка 150 тысяч человеко-часов на разгадывание зашумленных искусственным образом картинок. Эту энергию исследователи предлагают расходовать на распознавание отсканированного текста.
Новая технология получила название reCAPTCHA. Суть работы системы сводится к следующему. Пользователю предлагается распознать два слова, одно из которых службе reCAPTCHA известно, а второе — нет. Если пользователь правильно решает задачу с уже известным ответом, то система reCAPTCHA считает, что он правильно распознал и неизвестное слово. С целью повышения вероятности правильного распознавания одно и то же слово предлагается в качестве изображений CAPTCHA нескольким пользователям интернета.
Система reCAPTCHA может быть интегрирована в почтовые сервисы, форумы и так далее. Дополнительную информацию о системе можно найти на странице.a href=«recaptcha.net/captcha.html» >этой
Защита от ботов, меньше цифер и буков