host а я разве сказал, что она не красивая? Отнюдь! Наоборот она даже слишком красивая, но юзабилити расчитано на продвинутого юзера, а какая нить бабулька эту капчу будет до конца жизни расшифровывать!!!
Помогите плиз установить imagick скачал отсюда: http://pecl.php.net/package/imagick Как установить - понятия не имею Помогите плиз..
Кстати капчи распознают не только роботы (чаще всего нанимаются студенты и за 5-6 баксов они распознают 1000 картинок) Так что как капчу не крути, а лучше исползовать альтернативные методы (всякие фишки с JS и прочее, хотя всё равно на 100% не защититься)
от голодного студента не поможет вообще ничего. Он будет готов даже php+javascript выучить, если ему денег пообещать.
даже... пхп очень легок, надо говорить "даже на vb писать будет за еду" %))) про яву я умолчу, ибо если он на ней будет писать, он не только на еду себе заработает %))
Но зато мэйл.ру защищен от систем вроде http://www.kolotibablo.com/. Люди за 0.1 цент готовы вводить эти картинки .
Для этой капчи я писал скрипт распознавания. В итоге в среднем правильный результат 1:4. Так что как буквы цифры ни крути, как шумом не забивай, а все равно само сложное для распознавания это волновые искажения. Почему у гугла такая простая с виду капча, как вы думаете?
Есть идея как поставить в ступор программу распознования капчи - сделать букву не одного цвета а пятнами из нескольких близких цветов. И каждый пискель рисовать своим оттенком (ну не все, но использовать полутона одного цвета). В итоге такую капчу будет очень тяжело обойти, т.к. придётся анализировать несколько цветов + полутона для каждого цвета. Распознать уже одну букву будет геройством, а если их много... При этом само собой пиксели прорисовываются рандомно, что-бы визуально может это и одна картинка, но реально полутона уже подругому расположены. Пусть попробуют составить базу
armadillo Для этого ещё надо алгоритм написать, к тому-же можно сделать хитрую прорисовку по мною предложеной идеи, что затраты на обход такой капчи будут настолько огромны, что смысла делать этого не будет. Обойти можно почти что угодно, но какой ценой. P.S. Буду не на работе, опишу идею подробнее.
Psih, неа. Я обдумывал эту идею. Цветовой набор букв от набора фона все равно можно отличить, и довольно легко.
Без понятия )) Не попробуешь - не узнаешь. Но навскидку проблем особых не вижу. Фоновые квадратики очень просто отсеиваются, думаю всем понятно как - первый алгоритм анализа капчи как раз ищет области залитые одним цветом, ну а дальше просто отбрасывается все маленькое (по площади) и "правильноугольное". В случае с неискаженными, но повернутыми буквами, с использованием разных шрифтов, я использую примитивный (но действенный!) способ сравнения с эталоном, безо всяких там извращений типа векторизации и "прочего OCR". Т.е. первым делом пишется алгоритм выделения отдельных символов, а потом создается некая база в которую забивается как можно больше возможных вариантов. Ну дальше пишется алгоритм сравнения символов из капчи с базой, причем не простое сравнени (в этом случае нужна будет огромная база и время распознавания будет очень большим), а некий "оценочно-взвешенный" алгоритм, в котором учитывается и толщина линий (удаленность каждой точки символа от границы), и отличие в размерах и прочая. В итоге сравнение будет довольно быстрым, независимо от размера базы, и действенным. Проблема здесь возникает только с тем, что символы часто перескаются, но это в итоге повлияет всего-лишь на процент успешного распознавания, как мне кажется А вот это уже гораздо итереснее. При грамотной реализации скорее всего будет почти нереально распознать Резюмируя: С лично моей точки зрения как "распознавальщика" (а я занимался этим вопросом), достаточно безо всяких извращений вывести на одноцветном фоне одноцветные же символы, но: - с волновыми искажениями по горизонтали и вертикали - которые примыкают друг к другу (самое страшное наверное) И тогда капча будет визуально простой, но почти нереальной для распознавания (с моей точки зрения). Будет почти невозможно вывести одиночный символ из группы, когда все символы одного цвета и немного пересекаются (или просто плотно примыкают к друг-другу), а без этого уже и распознать никак. В этом случае возможно применение уже очень сложных алгоритмов - например основанных на нейронных сетях, что скорее все будет просто нецелесообразно.
savvot Hight И так, идея такая: * Само собой используем разные цвета для букв и фона. * В буквах и фоне должны использоватся одинаковые цвета, что-бы фоновое изображение было тяжело отличить от буквы (само собой не делаем фон и буквы одного цвета ) * Фон не должен быть однотонным. Желательно что-бы он имел такую-же фактуру как и сами буквы, так будет ещё сложнее отличить фон от букв (т.е. принцип его рисования как у букв). * Если это PNG, использовать полупрозрачность. * Возможно на одну букву стоит использовать несколько цветов сразу (2-3). * При рисовании буквы используем не только сам цвет но и его оттенки, причём чем шире перечень оттенков тем лучше. * Края букв можно делать по принципу сглаживания и не ровными. * Ну и всякие волнистости тоже вполне сойдут.