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

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

В первом способе в чем трудность для бота распознать бакграунд?
А последний способ реально действенный.
Да он распознает бекграунд, но распознает и мусор и каптчу и отправит вместо 5 симвлов 30 — айпи можно банить на 2 минуты.
проблема решаема, стоит только бота научить :)
вообще нет никаких проблем. капча экрана. забор куков. распознание. по цветам чем ближе к 0 rgb, тем темнее. подставления куки и числа. пост.
Все несколько проще, в качестве ботов давно выступают люди, которым просто подсовывается капча с нужного сайта в какой-нибуть полезной форме, например для скачивания чего-нибуть с вашего сайта. После чего вы становитесь обладателем распознанного кода капчи и просто шлете его на форму скриптом.
ну в данном случае "выдрать" нужно форму индивидуально, чтобы css подгрузился. т.е. на автомате такую форму стащить не получится, т.к. стили могут пересечься итп
Мне кажется, в данном случае проблема тоже решаема. Надо делать две страницы — одну для заполнения полей формы, другую
для капчи (вторую показывать сразу после первой).

Идея очень простая: капча действует в течение 1-й минуты. Люди, которые выступают в качестве ботов, получают капчи из
буфера, и там мало ли что может случиться. В общем, человек на сайте капчу увидит и введёт сразу, а человек-бот увидит
не сразу.

Всех злоумышленников это не срежет, но, я думаю, достаточно много отсеет.
НЛО прилетело и опубликовало эту надпись здесь
Нет, не так. Ввели комментарий, нажали "отправить", после чего сайт запросил
капчу и написал бы рядом комментарий: надо ввести её в течение минуты.

Но, даже если пользователь почему то не успел, сайт ничего не теряет, а сообщает
причину "отказа" и просит ввести капчу ещё раз.

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

> Надо делать две страницы — одну для заполнения полей формы,
> другую для капчи (вторую показывать сразу после первой).

Я не знаю, как ещё писать.
Эта проблема частично решаема, если не выдавать картинку чужим referrer'ам.
"Предприниматели" могут использовать проксирующие скрипты. Referrer будет генерироваться ими же. Конечно, будет фиксироваться множество распознаваний с одного адреса, но и на стороне клиента можно поиграть, скажем, с iframe.
В данном случае трудно угадать, что именно здесь - капча, и выдать именно это человеку-распознавателю. Хотя и научиться угадывать это не особо сложно...
Как раз таки последний способ — самый плохой. Для бота абсолютно не проблема указать е-мэйл, который он может проверить, и открыть ссылку в письме.
А там поле рандомное или таже каптча.
Про рандомные поля писали уже много — это не защита. А если там каптча, то зачем издеваться на пользователем? Надо сразу ее показывать без всяких писем.

Не, идея со спрайтами хороша, как и любая другая нестандартная фишка. Пока так не будут защищаться от спама массово — это будет работать очень хорошо.
смертную казнь за спам вводить пора.
И понесутся заголовки типа: "Спамерские трояны убивают невинных людей" :)
Думаете для робота распарсить CSS сложнее, чем распознать текст в картинке? :)
Более чем уверен что нет, но снизит скорость, добавив ещё одно соединение для сss-файла, для пользователя не страшно, а для спам-бота время.
да, ибо для этого нужно быть полноценным браузером. CSS-то спецификация не лыком шита...
примитивный вариант: взять delphi, формочку, на неё стандартную компоненту браузера (вы же пишете капчу, которую даже пользователи с IE6 должны увидеть, так?), после чего снимаем скриншот и распознаём, благо распознавать тут практически нечего =)
да, только вот ресурсов на "взятие скриншота" уйдет прилично... А распознаватели славятся тем, что хорошо "пробивают". Т.е. можно, конечно, делать скриншоты, но накладно все это... Проще китайца или индуса посадить...
1. Это только для универсального спам-бота - а если нужно сломать такую защиту на конкретном сайте - просто посмотрят человеческими глазами как это сделано, и распарсят только то, что нужно. В чем проблема, если известно, что именно нужно ломать?
2. Browser писать не нужно - готовые исходники уже свободно доступны. :) Напишут к ним спамерский plug-in.
3. Запустят IE в своем окошке и сграбят его содержимое.
А еще учтите, что особенно усердно изгаляясь с CSS, легко получить такую капчу, которую и люди не пройдут - потому, что ее будет показывать правильно только какая-нибудь Opera 9.5 и больше ни один браузер. :)
под п.4 Вы имели в виду acid3 ? :)

вообще любую captch'у можно взломать — достаточно человека посадить. Вопрос в том, чтобы минимизировать соотношение
затраченное время на captcha / затраченное время на взлом
Согласен. Наверное, уменьшить проблему можно только введя оплату за возможность пользоваться сервисом. Причем придется брать с user-а больше, чем спамеры платят леммингам. :(
или просто регистрация по приглашениям :)
Пролезет один спамер и приведет всех своих друзей. :)
Забанить его и всех, кого он привел:)
НЛО прилетело и опубликовало эту надпись здесь
Да прибудет CSS sprites с тобой, да помогут тебе минные поля и не испугает лицензирование. И не пробьет злой демон фильтр твой. И обретет душа твоя гармонию.
все эти многочисленные методы капчи не спасут при прямой атаке на ресурс, и следовательно, бесполезны
имхо, уж лучше двигаться путем, которым идет рапида и другие, которые не пытаются обмануть ботов, а стимулируют юзера быть умным
интегралы брать? хех :)
Капча "угадай мелодию": на картинке нотный стан :)
пример с интегралом более, чем реален :)
Integral captcha
а рядом флешовый калькулятор :))
я думаю, рапидшара скоро до такого дойдет
да-да-да. там будет один интеграл по поверхности и три - с котиками.
Ага только интеграл будет на трехмерном поле, с те ми же трехмерными котами.

http://habrahabr.ru/blog/humour/45005.html#comments
это - куда круче:
Главное, чтобы не интеграл по поверхности кошки :)
Я же кофе пью!
зачем здесь калькулятор? :)
Никак не вспомню, на каком сайте эту капчу видел..
А в чём прикол? Ответ не вводится, кнопки 'Ок' нет...
пацталом....
это был скриншот (если вы хотели ввести ответ прямо в комментарий...)
Мдя. Вот люди пошли... Cмайлик не поставишь - не поймут, что шутка... И минусов уже понаставили :D
НЛО прилетело и опубликовало эту надпись здесь
а рядом надпись - "в случае правильного ответа - вы автоматически зачисляетесь на 1-й курс" ))
Даешь рапидшарную каптчу в ЕГЭ))))))))))
ну можно же и не такие сложные, и как сказали выше калькулятор флешевый рядом
И пять лишних минут времени!
дык у физтеха капча - "посчитайте сопротивление цепи" =)))
да, видел как-то. Но сейчас не нашел. На всем портале "Сколько будет 9 + 61?"
это не капча, а мини-тест на принадлежность к универу.
любопытствую, где тут интеграл по-вашему? :)
Ага, тут предел простой и все.
НЛО прилетело и опубликовало эту надпись здесь
Да в общем он для любого человека с высшим образованием простым должен быть...
Да? И какой же ответ, любезнейший?
Да чего-то он не такой уж и простой. Интересно, это от куда?
Ну а что вас в нем напугало то так?
Ничего. Просто это не тривиальный пример, нужно не вычисление в лоб, по правилам, а доказательство. Поэтому мне и интересно, от куда это :)
Пример с кошечками на рапидшире - ваааще п%;:ц, даже китаец не разберет))))
Интегралы супер - хер скачаешь)) а про спам и НЕ спам - забыть точно можно.
Это подъебка, подпредельная функция не сходится в нуле.
правильный ответ WTF?
:)
С чего это он не сходится? Там от устремлённой к нулю переменной зависит только выражение под корнем, а оно в пределе является произведением нуля и величины, ограниченной по модулю единицей.

Ответ — ln 2.
Да, я идиот!!1 Что-то меня стукнуло, что арктангенс в нуле имеет разрыв второго рода, а это ж у арккотангенса так.
Так как это всё-таки капча, то вы не идиот, вы — робот :))
я робот
Э... то ли я математику забываю, то ли предел стремится к ln2 а это иррационально число...
Третий способ вполне жизнеспособный и дружелюбней к пользователю. А при прямой атаке и каптча не спасёт особо, если так надо могут взломать и сервер.
Кстати, пользоваться рапидой я перестал именно из-за их кошачей каптчи.
так вот как называется! нас, оказывается, уму-разуму учат!
Ага, кошек искать? Нет уж… глаза не железные…
Это плохое отношение к пользователю, когда заставляют делать что-то сложное для простейшей операции. Например, считать кошечек на буквах.
Пользователя подсознательно это раздражает и создаётся негативное впечатление.

Если без защиты никуда, защита должна быть, но она должна быть продуманной, чтобы не нервировать пользователя.
да ладно, чего набросились, я сам понимаю, что пользователь должен быть доволен :)
но ведь можно реализовать такую капчу, которая не только не оттолкнет юзера, а еще и заставит его раз за разом проходить ее заново с большим удовольствием :)
Квест с нелинейным сюжетом? :)
РПГ с прокачкой :)
Это они спамеров стимулируют быть умными. А юзеров они стимулируют пользоваться другими ресурсами.
Не каждый рискнет себе поставить такую капчу, как у них.
Думаю в первом варианте бот просто посмотрит в стиле, какой кусок бэкграунда ему отображается и распознает нужный кусок бэкграунда по типу каптчи.
Лицензирование интересно, но это уменьшает юзабилити.
согласен в первом случае, не проблема найти в CSS нужный код.
В CSS можно сделать 10 стилей с рендомными идентификаторами, каждый из которых будет указывать разный background-position для одного слоя каптчи, справится только бот-плагин.
:) давайте рассмотрим такой, не очень сложный, пример

HTML
<div><span><em> </em></span></div>
CSS
div {
width:200px;
height:200px;
overflow:hidden
}
span {
display:block;
width:200px;
height:200px;
margin-left:-50px}
em {
display:block;
width:50px;
height:200px;
background:url(http://habrahabr.ru/pictures/00/00/00/36…) 100px 0 no-repeat
}
P.S. Если что не работает — это просто мысленный эксперимент
Юзабилити страдает только при первом сообщении, после десяти, человек и не заметит.
Возможно и так, но до десяти сообщений нужно же человека не упустить, верно?
Человеку можно и объяснить, согласитесь, что на новые сайты вы заходите реже чем на те на которых у вас аккаунт уже два года, а если сайт интересный то за 15 сообщений отправить два письма — плата не столь уж большая, когда знаешь, что это скоро закончится ;)
№2 пришёл мне в голову в 2006-м. Тогда работал, сейчас уже не очень т.к. боты начали пробовать несколько вариантов сабмита.

Ну а если бот конфигурируемый — тут такой вариант не пройдёт.
Есть теория что даже самая крутая идея приходит пяти людям одновременно ;)
Хотя, может быть, память сыграла со мною злую шутку…
Приходит приходит. В 2007-м Damien Katz независимо придумал Negative Captha — точно такую же штуку.
1. Любая защита должна быть в первую очередь прозрачна для пользователя.
2. Изначальна презумция человечности.

Исходя из этих двух пунктов, проверку «на человека» следует делать только в случае реального сомнения.

Лучше пропустить спам и прибить его руками, чем ставить палки в колёса пользователю, или, не приведи бит, забанить на основании проверки.

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

1. Из формы посылаем письмо на gmail адрес
2. Делаем переадресацию входящих на ящик на своем сервере
3. Входящие на сервере фильтруем яндексовской "спамобороной"
4. Все что прошло, через 2 спам-фильтра - публикуем

Как результат - довольно оперативная и довольно качественная модерация по контенту.
Доступно. Спасибо.
> я бы вообще убил все каптчи на свете и дал бы всем право писать что угодно и где угодно

Смахивает на анархию.


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

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

Если присутсвует самоорганизация, как, например: механизмы «кармы», +/- за деятельность, уведомление от юзеров о спаме, то задача конроля над коллективом упрощается.

Только с человеческим контролем коллектива и человеческим же отношеним к каждому пользователю можно создать ресурс с приятным климатом для его контингента.
На такой — хоть запробивайся: сами пользователи помогут и поддержат чистоту рядов.
Модерация = тоталитаризм, анонимность - право любого пользователя!
Уж лучше пусть каждый сам доказывает, что он человек, чем все будут следить друг за другом!
> Модерация = тоталитаризм

Как страшно жить! ©

анонимность - право любого пользователя!

Ну что ж, придумывайте капчи, доказывая право спамеров нагадить у вас на ресурсе, блюдите т.н. «анонимность».

> Уж лучше пусть каждый сам доказывает, что он человек, чем все будут следить друг за другом!

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

Никакая капча от дебилов и спамеров не избавит, какая бы хорошая и технологичная она ни была.
НЛО прилетело и опубликовало эту надпись здесь
Если регистрация пущена на самотёк — безусловно.
Меня вопрос давно мучал, не решался все спросить :(
Я правильно понимаю что бота самому нужно научить как чо распознавать, не сам же он учится.

То есть вот способ первый будет работать до тех пор пока хозяин не научит бота это вот обходить.

Теперь - вот у меня есть сайт, я туда прикручиваю капчу эту. Какова вероятность что ботовод зайдет на мой сайт и будет обучать своего бота обходить конкретно эту капчу?

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

Веб-свинарник?
Извините не удержался ;)
У меня ваще сайта никакого нету, я так к примеру.
С другой стороны сколько тут людей у которых по 10-50к рыл в день?
1000 человек в день уже достаточно для НЕБОЛЬШОЙ подкрутки бота.
а блин, я не так подумал :) чорт ну почему комменты свои нельзя править :(
Вы всё правильно поняли. Просто боты есть автоматические которые лазят по всему Интернету ищут ссылки и спамят стандартные формы, а есть те которые адаптируются под конкретный сайт, с ними бороться сложнее тут всё зависит от вашей и спамера изобретательности и опыта.

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

Вопрос лишь в том, на сколько получится сложный алгоритм распознавания CSS и сколько его реализвация займёт времени. Поломать можно всё, вопрос лишь в сроках и потраченных силах :)

Вообще есть ещё доп идея - можно символы закрывать белыми дивами поверх картики :) тоже с замудрённым CSS. Или картинками с белыми полями. Или несколько картинок накладывать друг на друга, образуя буквы в нужных местах :)
Тогда разработчику необходимо будет в результате парсить полностью HTML, получать изображение, брать координаты Капчи и после этого уже распознавать её.
>Бот - это не собачка :), чтобы её обучать.

а нейросети?
нейросети тоже далеко не собачка:)
Тут как и в любом взломе решает цена вопроса.

Создатель капчи закладывает в алгоритм целую кучу рандомно-вызываемых шаблонов, по которым происходит css-рендер капчи.

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

В любом случае, для некоторых сайтов существуют ручные антикапчи, на подобие такого: http://kolotibablo.com/ То есть, находят людей, которым платят за это дело.
понравился CSS sprites.
его можно модернизировать тем, что картинку, которая будет указывать границы генерить разной длины, но палки ставить не по краям а в определенных местах, тем самым меняя длину правильных цифр. так же можно менять ширину картинки параметром width (естественно с учетом того, что поменяется и расположение палок на ней).
так же можно вместо одной картинки подклывать несколько с разными цветами бэкграунда или палок, а юзеру писать - "введите цифирь между зелеными палками" или "какой текст вижно между красной и синей палкой" (текст генерить как хитрую картинку :).
понятно что это не спасет от целенаправленной атаки, но может усложнить процесс распозначания, а вы в это время придумаете еще что-то ;)
можно вообще сделать матрицу циферок и показывать только 4 из них — почти как авто-запоминающийся пароль. А еще можно "вырезать" из этой матрицы диагонали...
Два изображения тоже можно, но css обязательно, без него нет смысла!
да, можно класть сложное изображение как тег img, а людям показывать простое, наложенное сверху через фон :)
Только это не картинка в палками, а обозначение видимой области рисунка, т.е. краев блока, фоном которого он поставлен)
Из всех вариантов понравилось "Лицензирование". Но такой вариант требует механизм, который бы анализировал сообщения на спам. Так же у него узкое применение, только защита комментариев.
Анализатор спама не нужен. После первого письма пользователь получает кредит доверия, когда администратор или пользователь заметит спам, он отметит это и кредит сгорает, а плохой пользователь получит спам в ответ, что бы грустно не было!
1) от специального бота не спасет(написан специально для конкретного ресурса).
2) Бот, javascript? Вы о чем?
3) Кнопку отправки легко вычислить с любым именем.
2) Бот-плагин
сомневаюсь. Очень у малого кол-ва людей есть возможность запустить браузер на нормальном канале. Ну да чем черт не шутит=)
кнопка отправки может быть не сабмитом, а обычной кнопкой/ссылкой с сабмитом через яваскрипт
а вот за такое руки надо отрывать.
А если у человека JS отключен? Или его вообще нету(мобильный браузер к примеру)? Это не повод приводить функционал в неработающее состояние.
в продолжение заданной темы может у кого есть идеи как заставить пользователя пройти капчу(и какой она должна быть), чтобы он (пользователь) проходил ее в попапе. то есть мотивации к посещению следующей страницы у него изначально нет. то есть вопрос в том чем его доолжна заинтересовать капча?
Затеял ты зло я вижу. Тёмная сила в душе твоей поселилась.
Заинтересовать пользователя должна не капча, а ваша идея.
об идее пользователь еще не знает посколько попап рекламный. поэтому заинтересовывать нужно именно капчей.
То есть пользователю предлагается пройти капчу чтобы посмотреть рекламу? :)
Это что-то новенькое.
ну это было бы совсем наглость)))) пользователю предлагается пройти капчу чтобы оценить процент бот траффика в рекламных попапах. но поскольку для пользователя это просто очередное всплывающее говно, то нужно сделать эту капчу какой-нибудь привлекающей внимание. чтобы у пользователя был интерес пройти капчу.
НЛО прилетело и опубликовало эту надпись здесь
=> Для тех у кого не работает js нужно создать отдельную форму, в неё-то и ломанутся спамеры.
скорее всего в конце drag-n-drop вызывается функция, которой передаются параметры, вот её и будут отслеживать...
а сам drag-n-drop никого интересовать не будет - это просто инструмент, который заменяет ту же кнопку, которая вызывает ту-же функцию
НЛО прилетело и опубликовало эту надпись здесь
а кто будет скрипт интерпретировать? не бот ли? значит и перетаскивание сработает без проблем.
От целевой атаки (не меняя саму защиту) защититься можно только на время.
На тему спрайтов уфантазироваться можно. Напимер, не тридцать цифр (подозрительно много), а требуемое кол-во, например четыре. Сделать картинку фоном сразу чётырёх рядомстоящих узких блоков, и через сдвиг фона поменять порядок цифр.
Ну и так далее до позеленения.

Способ нравится тем, что идёт не через ухудшение читаемости капчи, что сейчас самый массовый метод.

Только при прицельной атаке на ресурс не спасёт.
При целенаправленной атаке ничего не спасёт, ни каптча, ни спрайты, ни почтовые уведомления!
... интересная штука ... мне нравица ... я то уже надоели стандартные captch(и) ... хоть что-то новенькое ... а полезут боты ... будем думать ...
Эти бессмысленные регистрации это прошлый век!
Юзабилити превыше всего, особенно на сайте коммерческих компаний.
Так постоянно предлагают пользователю зарегестрироваться, а мне не интересно регистрировать вводить свои пароли писать какие-то данные ненужные, я лучше выберу конкурента ихнего но без длинной или короткой регистрации.
Вот например решение, пользователю по умолчанию разрешено все, отсылать, делать заказы, в качестве имени используется email адрес. При совершении действия, если такого пользователя еще нет, высылается код на данный почтовый ящик, и ссылка для подверждения регистрации.
А я о чём написал?
Кто против :) я просто развиваю идею :)
Только не email, а openID. Надо народ приучать к прелестям децентрализованной авторизации
Про защиту от спама при помощи openID говорить не приходится, он только упрощает её!
А никому не приходит в глову трейсить мышь и клаву?
Алгоритм описать сейчас не возьмусь, суть — поля могут быть заполнены либо мышью — паст из буфера, либо набираемыми символами.
Вот и выходит что для текстовых полей, чекбоксов и радиобатонов мы отлавливаем onClick & onKeyUp.
Эмулировать подобные вещи боты уже научились?
НЛО прилетело и опубликовало эту надпись здесь
ну если мозгов нет, то можно и так
трейсить-то полдела — что после трейсинга будет меняться? состояние hidden-поля? отправка дополнительного запроса на сервер? установка cookie? все это эмулируется роботом, но не дает гарантии для человека (нужно, что человек со 100% вероятностью форму отправил)
на вскидку:
на сервере мы знаем имена полей формы, которые должны прийти
делаем мд5 от конкатенации строк - имен полей, таких мд5 будет n, где n = кол-ву полей (самый простой вариант, можно усложнять). оставляем это дело в сессии.
на клиенте ловим екшин по каждому полю, добавляем поле в строку, если его там нет, делаем мд5, отправляем на сервер.
для бота делаем еще 1-2 хиден поля или они будут css спрятаны - не суть.
на этих полях так-же стоит обработчик, на случай, если исходник будет парсится.
бот увидит, человек нет.
дальше вариаций сколько угодно.
"если его там нет, делаем мд5, отправляем на сервер" — вот тут грамотный взломщик и полакомится. Полей конечное число, "md5" будет делаться на клиенте — что еще нужно для полного счастья?
разное количество полей сгенереных на клиенте и на сервере
Браво, наконец-то какая-то свежая идея среди бессмысленного потока новостей и гаджетов! Спасибо.
Пожалуйста!
а что насчёт display:none для одного из полей ? если поле заполнено - бот.
При целевой атаке ломается за 1 минуту!
да, без вопросов. однако для 99% случаев, даже больше, наверное - самый верный вариант, потому что не напрягает юзера.

когда пошёл трафик, и уже имеет смысл ломать ботом, обычная капча, с 4-5 буквами наиболее понятный юзеру вариант.
Да это вариант защиты от бот-автомата.
Я не очень-то верстальщик, хотел спросить - а можно ли нарисовать букву из, скажем четырех прямоугольников (дивами наверное) средствами css? Вот печатная буква "А" например.

И такими "буквами" писать рандомное слово...
можно, только это программировать, имхо, сложнее...
Ну тут люди такие навороты предлагают.. )
Самая большая проблема, по-моему, в преобразовании каждого дива в 2 пары координат + цвет. Конкретно такую букву персептрон и с минимальной первичной обработкой входной информации распознает. Имхо, конечно.
Ну по координатам распознает, наверное... Другое дело, что под такую капчу надо бота целиком нового писать, я думаю.
Трудозатраты на изготовление такой каптчи велики. Можно сделать подругому взять табличку и сделать из нё дисплей с ячейками 1х1 px, управляя заливкой через тот же css, у каждого пикселя рандомный айди, хотя для ботовода это просто лишнее время ;)
идея хорошая. Но на лету писать буквы случайными наборами div-ов довольно затруднительно. А расположение нужно менять обязательно, иначе боты просто будут угадывать паттерны в css-сах.
А сделать небольшие случайные флуктуации? Скажем, плюс-минус 10 пикселов...
Неплохо.
А если эту картинку рисовать пыхой, в сессию писать какие цифры были нарисованы, писать какие цифры надо вывести (накладывать сверху окошко из картинки с рандомно вырезаными отверстями для букв.)

И все это выводить absolute ...
м?
да надо уже давно менять систему сортировки людей и машин с буквенно-числовой на что-то более неадекватную
Во всех новых CAPTCHA есть одна положительная сторона - необходимо время на создание новых программ для их обхода.
http://grani.ru/files/26716.jpg

А как вам такой вариант капчи?
А ведь вариант! Капча на флэше - надо проследить, где шарик под наперстком. :-) Токмо наперстков надо побольше, чтобы вероятность случайного попадания ботом уменьшить.
такая капча может быть легко взломана кавказским ботом :)
1). не все любят флеш
2). в чем проблема этот флеш декомпилировать, и реализовать "угадывающего" бота?
Насчет пункта 1 действительно ничего сделать нельзя.

А вот со вторым довольно легко, если использовать какой-нибудь random seed, например, количество тиков CPU на сервере после старта. Довольно-таки случайная величина, недоступная извне.
нутк эта инфа будет каким-то образом передаваться клиенту, и её вполне может прочитать бот

о, я придумал. на сервере рендерим сразу видео (можно профессиональных наперсточников позвать), и видео скидываем клиенту. ^_^
Картинки с капчей генерируются, значит, можно и флэш сгенерировать.

А насчет видео - тоже вариант. :-) Показывать отрывки из старых советских фильмов, если возраст > 30, а тем, кому меньше, то - из голливуда. Пусть отгадывают. Можно видео зашумлять - гонять с видаков и пятой-шестой копии.
не покатит, флешу нужно передать номер наперстка, под которым будет шарик. номер то этот должен быть сгенерирован на сервере...
можно конечно каждый раз компилить флешку на серваке, но тогда нужно будет под генерацию капчи ставить отдельнй таз :)
А кто говорил, что будет легко? :-)

К тому же, "непробиваемую" капчу сделать нельзя - если что-то видит честный пользователь, то видит и злоумышленник. If you see it, you can grab it. Т.е., даже если генерировать ActiveX каждый раз, то и его можно декомпилировать и поглядеть, что у него внутри. И это можно автоматизировать.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории