Pull to refresh

Comments 27

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

Вообще-то, её никто на диск никогда и не пишет.
В Индии отрисованные картинки записывают на диск, чтобы не забыть.
ну я писал по-первости :-) Потом удалял. Молодой был, глупый…
Обойти можно любую капчу — это только вопрос стоимости.
кмк, буквы очень контрастны к фону, наверное, будет легко отделить друг от друга.
Сами буквы одинаковые, после разбиения на буквы вопрос только в переборе поворотов и сравнения с шаблоном.
Кстати да. Что если сделать переменным размер шрифта в том числе…
А вот в этом и заключается искусство создания капчи — правильно подобрать параметры так, чтобы и человеку было легко, и машина споткнулась.
Вот это действительно интересно и ценно, а то, что вы написали — это только начало.
Всё это конечно хорошо, но только будет очень страшно если капча выйдет на главную. Зато вы сможете проверить скрипт на высокие нагрузки. )
UFO just landed and posted this here
UFO just landed and posted this here
Цвета, как и символы, случайны. Я если буду использовать это в каком-нибудь проекте, обязательно приделаю кнопочку «Обновить картинку без перезагрузки страницы».
UFO just landed and posted this here
Капча ломается в 3 счета. Попробуйте в fine reader или чем-то подобном распознать.
Вообще принцип простой взлома
1) Убрать шумы
2) по одинаковым цветам разделить на буквы
3) по шаблонам выделяются буквы
Есть масса готовых решений, не вопрос. Но хочется свое. Такой вот я тонкий извращенец :-)
Реальную сложность при разборе капчи представляют только значительные деформации и трудноразделимые «слипшиеся» символы. Игры с цветом, фоновые шумы, и вариации шрифтов это баловство.
если вот тут: MagickAnnotateImage($background,$drawing,($i*30),0,$angle,$r_st); вместо ($i*30) поставить ($i*15), то все символы будут накладыватся друг на друга. Ну или можно увеличить шрифт. Раза в полтора. Только боюсь, что человеку читать это будет нелегко.
Сейчас, кстати, попробуем.
Конечно усложнит.
Любая капча — плохое решение с точки зрения юзабилити. Но, увы, более простого и надежного способа фильтровать ботов пока нет :(
Я как то особо не загоняюсь по капчам, но есть идея — почему бы не сделать её в виде анимированного гифа где будут вращаться объемные символы? С точки зрения распознования человек её определит без проблемм, а вот автоматизированным системам будет гораздо сложнее. При этом мы можем делать объемные буквы довольно читаемыми для человека…
Опа! А ведь и вправду… Надо заняться. Спасибо за идею!
Не забудь потом пива по мылу отправить :))))))
UFO just landed and posted this here
В определенном кадре все буквы будут под разными углами, а выяснить в каком же кадре наконец то появится эта буква под таким углом, что б её и распознать…
Вот быстренько набросал — можете прикинуть насколько её сложнее будет распознать чем капчу, предложенную выше…
Ну я совсем не эксперт, особенно по капчам, но в глаза бросается то, что её сложно читать человеку. А компьютерно? Ну разбить на буквы тривиально, т.к. есть последовательность картинок где двигаются только буквы. Вычитаем один кадр из другого и получаем, что двигующиеся буквы светятся. Потом смотрим на букву в последовательности кадров, берем цвет фона и считаем количество точек с этим цветом фона на каждой картинке. Если заметите то только при фронтальном расположении буквы достигается максимальная прозрачность буквы и фона больше всего. Так получим кадры с фронтальным расположением букв, ну а дальше повороты и подбор шаблонов. Для новичка может и не просто но я за одну ночь написал алгорим «зажигания» движущихся объектов на видео и простую очистку от шумов. Ну и мне не нравится её читать, для человека имхо неудобно.

Тут опять вопрос соответствия цены взлома и стоимости результата. Я до сих пор незнаю как можно взломать капчу у Гугла. Хотя там монотонный фон и сами буквы одного цвета. Самая большая проблема это отделить символы, да и символы там искажены, а у вас наоборот отделение символов проходит само собой.
Я бы сказал взломать просто. Шумы выносятся без пролем, буквы все одинаковые, один раз собрать шаблоны того какой шрифт используете, и подбирать можно очень легко. За 2 дня один напишу распозновалку при желании, но желания нет. Советую не только разноразмерные буквы и цифры делать, но добавить шумов на края букв, и использовать несколько шрифтов. Даже 10 разных шрифтов добавят очень много проблем взломщикам. А сосвем круто будет если искажений добавить, волн таких небольших по картинке, тогда банзай будет. Еще можно сделать букву неодинакового цвета. Еще очень важный вопрос, это соотношение стоимости взлома защита и размера выгоды, полученной от взлома. Если это больой проект где много спама, то этого недостаточно, а для блога например вполне хватит.

О еще заметил, у вас порядок перекрытия букв всегда одинаковый, т.е. первая буква всегда на заднем плане, следующая ближе и так далее, это тоже облегчает распознование.

Я это все пишу как имеющий некоторый опыт в написании системы распознавания, и соответственно пишу что усложнит машинное распознование, я думаю что если применить все что я написал для человека тоже будет тяжело читать, так что вам выбирать. Смотрите за баллансом машинной и человеческой сложности распознования.
Спасибо за развернутое объяснение :-)
Конкретно эта капча планируется для блога (движок хочу свой написать), но если мне прийдется когда-нибудь делать капчу для более-менее крупного проекта, я обязательно учту ваши советы. Спасибо!
Если не сложно — прокомментируйте мой вариант капчи… Очень интересно насколько она усложнит распознавание
Sign up to leave a comment.

Articles