Pull to refresh

Comments 80

UFO landed and left these words here
О чём и речь. Если позволить боту брутфорсом перебрать быстро миллион паролей — он ведь подберёт нужный. А если контролировать чтобы он набирал не быстрее чем самая скорострельная машинистка — уже не сможет.
AJAX уже давно пора использовать не только для красивостей но и для дела.
UFO landed and left these words here
UFO landed and left these words here
Если к примеру у меня 100 разных картинок и брутфорс подбирает текст, то замена картинки — это тоже перебор. Перебор на перебор — комбинация может как не совпасть, так и совпасть раньше, чем если бы не было замены картинки (при брутфорсе бот её вообще выкачивать не будет).
А вот про увеличение длины при паре-тройке неправильных вводов — тут я с Вами полностью согласен.
И так часто наличие нечитаемой капчи раздражает, а если она еще и подставы делать будет то на такой ресурс никто заходить не будет
Пожалуйста, прочитайте и текст вокруг анимированной картинки.
А еще хрен разберешь ноль там (на капче) нарисован или буква «О»
Это только кажется, что если с помощью AJAX можно определит человек это или нет, на самом деле робот не хуже человека сможет отправить ajax запросы.
Конечно. Но я же написал — контролировать скорость ввода на сервере. Именно для этого и нужен AJAX — чтобы отправлять каждый символ и фиксировать этот момент отправки, а не всё слово целиком по-старинке.
Думаете с этой задачей не справится робот?
С задачей набирать медленно? Конечно справится. Но идея взлома перебором просто умирает, т.к. время на перебор резко увеличивается — скажем с часа до месяца.
Да конечно, но я бы насторожился если бы с одного пользователя мне приходило несколько десяток капч в секунду. Да ик то их решает перебором?
Конечно у меня бы вызвал подозрение человек, который 10 раз неправильно ввёл каптчу — или он пьян, или бот. И в том и в другом случае можно дать ему отдохнуть несколько часов прежде чем продолжить приём. Это тоже анализ интерактивного взаимодействия с пользователем, на основе которого человека можно отличить от машины.
А зачем тогда лишний раз раздражать пациента нестандартной капчей у которой на каждую его букву ест своё мнение?
Задачей было не усложнить жизнь пользователю, разгадывающему исковерканную до неузнаваемости абра-кадабру какая на большинстве сайтов, а упростить — например когда меня просят набрать цифры, а потом просят набрать буквы с картинки где их хорошо видно, я это с лёгкостью сделаю.

И даже если робот распознает текст — он ему не поможет, т.к.
1) робот не знает задания, которое может меняться и подгружаться на лету
2) робот отправляет ответ целиком и не печатает со скоростью человека

Идея в том чтобы сделать «отпечатком пальца» не только ответ, но и то, как он был набран, реакцию пользователя.

Я наверное чего-то не понимаю. Вы-то кажется не только картинку посмотрели, а и текст тоже. Я же сразу написал что на картинке приведён совсем уж утрированный вариант.
Для этого придуман таймаут на ввод капчи)
UFO landed and left these words here
какое количество? у него запрос — получить символ — сохранить. Это конечно в несколько раз больше чем передать код целиком, но не намного.
Речь о каптче — при чём тут автогенерилки паролей?
Автозаполнялки паролей тоже идут лесом, см. выше
UFO landed and left these words here
Если сделать достаточно прямо, то ничего не повалится.
Не стоит забывать, что на такие запросы БД и диск дёргаться не будут.
UFO landed and left these words here
Неужели вы предлагаете сохранять на диск состояние системы, которое нужно в ближайшие три минуты?
Я не думаю, что ввод любой капчи занимает больше 20-30 секунд, сохранять подобные данные на диск мне кажется не разумным.

Ну а если вы про запись в логи (других идей у меня нет) — по крайней мере в nginx-е их для определенных location-ов тривиально отключить.
UFO landed and left these words here
Я не умею писать на PHP хороший и правильный код, но, думаю, там тоже есть нормальные интерфейсы к memcached и другим инструментом хранения данных в памяти между запросами.
Да и сессии, кстати, иногда рекомендуют хранить на tmpfs.

А вы про лишние коннекты или лишние запросы? Если про лишние запросы то, думаю, это экономия на спичках. В любом случае, без конкретных цифр рассуждать о том, лишний запрос или нет — плохая идея. Если этот лишний запрос позволяет что-то сделать полезное — почему бы и нет, благо капчу распознать нужно один раз, а потом можно авторизовать пользователя по сессии.
UFO landed and left these words here
UFO landed and left these words here
Всегда можно сделать запасной вход. Со старой плохочитаемой длинной каптчей.
Хотя конечно доля пользователей без JS и Flash продолжает стремиться к нулю
UFO landed and left these words here
Скажем так — это нужно делать, если это необходимо. Но вот насколько это необходимо? Сейчас AJAX работает даже в мобильных браузерах, не говоря уже про все настольные. Если у кого-то он не поддерживается — это значит что пользователь не может полноценно пользоваться всеми возможностями интернет. Конечно встречаются пользователи, которые отключают в браузере Javascript и Cookies а потом жалуются на жизнь — не могут что-то купить в интернет-магазине и т.д. При этом они-же радостно открывают письма со всложенными *.scr-файлами с вирусами. Я не вижу объективных причин для такого самоограничения — так можно и браузер удалить как потенциальный источник заразы, только интернета не будет. Совсем.
Помню случай с таким горе-разработчиком капчи:
— Она такая хитрая! через JS все определяет, и поведение пользователя, и как набирает и все следит! И ни одного робота не пропустит!
— А если JS нет?
— Ну я подумал, что таких немного, и им просто без проверки писать разрешил…
Это в юмор надо. Боты — это как раз пользователи без JS :)
но при придумке новой капчи следует учесть, что
  • Пользователь без js — не всегда бот
  • Пользователь с js — не всегда человек
Боты нынче и с JS бывают, сам такого писал для курсовой на базе движка FF, чтоб автоматически скриншоты сайтов делать.
В старой капче можно сделать определение работает ли JS, если работает, то отправлять на «новую» схему, это или бот или потерявшийся юзер =)
Да вы не знаете, с какой скоростью я набираю свой логин и пароль!!! :)
Это каптча, а не логин и пароль — её невозможно знать заранее
А как же поклонники Шахиджаняна? В пролете?
Даже у самого Шахиджаняна есть то количество знаков в минуту, которое он способен набирать. И это на порядки медленнее, чем возможности компьютера, так что тут проблемы нет.
тут скоро можно будет писать книгу «100 способов поиздеваться над посетителем»
Проблемы с инетом / быстрый набор / да хоть просто лаг компа…
Очень многих «нормальных» пропустишь мимо сайта, как ботов…
Ну и отключенный js, само собой… Выше уже писали )
Кстати, а если пользователь логин/пароль не набирает а Copy/Paste из блокнота допустим?
Репь не о логине и пароле (который я кстати иногда тоже могу набирать в блокноте, т.к. отображается звёздочками) а о каптче.
О, точно… я не совсем верно понял вашу мысль :)
Вопрос отпал
у меня нехватает кармы что бы опубликовать свою идею((… может кто помочь? или можно в каметах?))
Опубликуйте в комментах — если народу понравится — опубликуете отдельным топиком. Лично подкину.
Хотя публиковать идеи на Хабре — рискованная затея по сравнению с копипастингом и переводом комиксов. У меня например сегодня кармы поубавилось — забывают что если не нравится топик, то минусование кармы никак не влияет на него — надо минусовать сам топик.
Топик был подготовлен, но при отправке обнаружена недостача кармы =(
Web-разработка → Ещё одна идея CAPTHA

Идея родилась после просомтра топика Интерактивная каптча, в нём хабрачеловек Stepanow написал «Моя идея в интерактивном взаимодействии с пользователем, чтобы понять что это не робот», и ту меня осенило…
image
Вот пример на картинке.., всё предельно просто;) Сомневаюсь что роботу будет подсилу таскать фигурки на страничке. Вот так вот, дети могут делать, а роботы нет!
Ещё в дополнение, можно поместить букву или цферку на элемент, с кешированием элементов нагрузка невелика будет.

теги: каптча, капча, captcha
осталось придумать, как проверить правильность ввода )
координаты области есть, координаты центра фигур есть => проблем нет))))
Каждая фигура имеет свой ID. На сервере мы знаем ID правильных фигур. дальше я думаю идея ясна.
да, если по id… попробую-ка сделать такое.
ИМХО, замысел зачет, автору плюсик )
любопытен резульат очень )
ждём, я к сажалению в php несилён, так бы предложил уже реализованный вариант…
Гм. Наобещал поднять — а оно пишет «повторное голосование запрещено» — выходит я Вас уже когда-то успел плюсануть.
Идея действительно прияная и наглядная. И если делать каждую фигуру отдельной картинкой с произвольным именем файла — тогда и ломалку-то не так просто сделать — это же надо определять тип фигуры… Да и за «тасканием» тоже можно в реальном времени следить, хотя необычность капчи такова, что классические методы взлома под неё не подходят, а что-то специально против неё спамеры врядли писать будут. В общем от меня зачёт, я надеюсь Вам накинут кармы и Вы опубликуете топиком.
Спасибо за попытку))) Но я пока хабраобессиленый…
Надеюсь накинут, а то не дело так…
если по ID, то опять же подверженно брутфорсу… помоему !1+!2+!3+!4+...!12 где-то так вариантов, хотя могу и ошибаться
ну кто сказал что ID будет 1,2,3? Можно же сделать рандомом 5,67,3 например))…
изменения id полюбому будут на клиенте, так что не имеет значения какие они, я вообще про возможное количество комбинаций
В принципе на данной картинке предлагается выбрать 2 картинки из 14. Итого 2*14 = 28 вариантов, что весьма немного. Но это только если проверять результат по факту. Если таскать drag'n'drop-ом, и отслеживать координаты когда фигурка будет отпущена — то мы можем следить за процессом. И отслеживая действия пользователя — уже решать не бот ли это. Ведь перетащить объект можно только за конечное время. Если объекты таскаются произвольно и в пункте назначения неправильные фигуры — делать паузу и менять капчу (можно оставлять ту-же задачу, но менять все картинки и их имена). Слежение за процессом позволяет сделать решение капчи без лишней кнопки «Ок» — если треугольники оказались где надо, пользователь войдёт больше ничего не нажимая.
смешно. то есть для бота задача из «распознать некоторую максимально искаженную строку и отправить её на сервер» превращается в «распознать несколько простых геометрических фигур и отправить их на сервер» и вы действительно считаете, что это сложнее? или, может быть, исказить фразу «желтые треугольники»? =)
мне сложно сказать насколько оно будет надёжнее… но я думаю что чем больше разных и хороших капч тем сложнее спамерам =)
Любая капча «нового типа» — непреодолимая задача для спам-бота, ибо он не знает что с ней делать. Конечно до того момента как эта капча получит популярность и за ней будет скрываться достаточное количество лакомых кусков для спамеров. Тогда они начнут искать против неё противоядие и тут уж от самой капчи будет зависеть — будут её обходить или нет.
Во всяком случае против нестандартных капч не прокатывает проверенный спамерский трюк, когда в автоматическом режиме изображение капчи копируется и показывается на варез-сайте при нажатии там пользователем кнопки «скачать» — пользователь «распознаёт» и результат его ввода отправляется сайту, чья это капча. Поскольку человек, который хочет скачать пиратскую игру, очень хорошо распознаёт капчи по сравнению с роботами — успех обеспечен и робот начинает радостно спамить. А с нестандартными капчами так не поступишь, особенно если надо что-то таскать, или вводить по одной букве.
Лучше тогда «нажмите на треугольнички» :)
небудет операции перетаскивания, слежения за координатами и уверенности в том, что бот не бот))
Вообще, каптчи превращаются в настоящее искусство…

Вот изобретут относительно дешевые плоские панели, можно будет сделать выставку каптчей в картинной галерее.
Капчи в рамках от картин.

И каждый человек может подойти, и ввести правильное число/буквы/цифры. Сказать что написано на каптче — прямо так, сразу голосом!
А картинка улыбнется и скажет: да, ты, брат, реально человек! Человечище!

И пропустит в следующий зал.
UFO landed and left these words here
Все капчи, в которых написано задание на каком бы то ни было языке (русском, английском, украинском, монгольском,… — не важно), обречены на провал.
Ну не сможет американец прочитать задание, написанное по-украински, а русский не поймёт написанного по-голландски!
таким образом можно фильтровать эксклюзивные материалы? )
В идее с фигурками разноцветными, можно пиктограмно поставить задачу… к примеру из одной области вдругую стрелку нарисовать и посередине стрелки нарисовать желтый треугольник. ТИМХО разберется даже 2ух летний индус.
да, вполне… а вспомнив рапиду можно и кошечек с собачками и «ежиками» вспомнить)))
реально чем проще задача, тем сложнее для роботов… и не надо напрягать зрение и разум…
Про кошечек… это вы утрируете. Я помню когда мне что-то скачать нужно было, так всей семьей садились искать кошечек.
Конечно ))) Сам с ними намучился… Я про саму идею, за то всем теперь понятно =)
Каптча — устарела. Получается, что на дверь ставят все более и более совершенные замки, при этом бросая ключи рядом.
Идея с задержкой:
— Устанавливаем сессию.
— Показываем капчу, время запроса капчи сохраняется на сервере.
— Если форма с (неправильным) ответом на капчу приходит менее чем через некоторый промежуток времени, выводим пользователю страничку с формой и ошибкой таймаута. Если js поддерживается, через таймаут прогружаем аяксом новую капчу, если нет — рефрешим страницу. Нормальный пользователь не заметит, боты пойдут лесом, если интервал, скажем, 3 секунды.
Я бы всем сегодняшним «изобретателям капчи», прежде чем рожать «свежаки» посоветовал сначала более подробно изучить вопросы как составления капчей, так и их обхода. А то устроили сегодня день изобретения велосипедов, к тому же одноколесных, ей-богу. А то понасмотрелись на сайтах капчей и думают что все видели и все про этот вопрос знают)))
Спасибо за конструктивную критику, прочитайте это, не хочу дублировать.
Ну конечно такие статьи Важнее для хабрасообщества чем мои мысли, куда уж мне до сисек.
Не совсем каптча и не на 100% то что я говорил, но часть идеи реализована. Можно даже сказать: «Какой удар от классика» :)
Хороший пример для сомневающихся в реализуемости, спасибо
Only those users with full accounts are able to leave comments. Log in, please.