У каждого из нас, само собой разумеется, есть богатейший опыт распознавания капч. Капчи бывают разные — всевозможные логические («кликните на синий кружочек», «на каких картинках изображены котята?» и так далее), звуковые, есть даже капчи, предлагающие выбрать самую красивую фотографию. Но самыми распространенными на сегодняшний день остаются капчи с искаженным изображением букв и/или цифр. На этой неделе мы узнаем, как написать программу (понятное дело, на Haskell), автоматически распознающую одну из таких капч, притом не самую заурядную.

Данная серия постов состоит из пяти частей, по одной на день недели:

То есть, этот пост представляет собой оглавление. Завтра, во вторник, будет опубликован пост «Сбор данных и их предварительный анализ», в среду — «Вычищаем мусор и нарезаем капчу на буквы» и так далее. По мере публикации этих частей ссылки на них будут добавляться в данный пост.

Хочу особо отметить , что графические капчи с искаженными буквами и цифрами прекрасно ломаются при помощи сервисов типа Antigate . Но это не спортивно и стоит небольших, но все-таки денег. Предполагается, что мы здесь с вами интересуемся решением интересных задачек, а не рассылкой спама.

Тем временем вы можете подготовиться к подаче материала, перечитав мои заметки о многослойных нейронных сетях и генетических алгоритмах , а также освежив свои знания Haskell, например, при помощи замечательной книжки Learn You a Haskell for Great Good . Если что, в интернетах давно выложена пиратская PDF’ка русского перевода этой книги. Но я вас ни к чему такому не призываю, скорее напротив — осознайте, что книга классная и сходите купите ее . Еще вы можете ознакомиться с моей реализацией капчи на Python, которую, как мне кажется, довольно сложно сломать.

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

admin

Share
Published by
admin

Recent Posts

Настройка Mercurial по HTTPS

Иногда mercurial, при скачивании и комитах ругается на https. Особенно на самоподписанные сертификаты. Чтобы заработал…

3 недели ago

Компиляция libvirt в Ubuntu

Компиляция libvirt Подробнее

3 недели ago

Ошибка libvirt permission denied: решение

Если возникает ошибка libvirt destroy lxc permission denied , при попытке остановить контейнер: _x000D_# virsh…

3 недели ago

Настройка редиректа в NGINX

Файлы с примерами редиректа для nginx Подробнее

3 недели ago

Включение gzip в NGINX

Как включить gzip сжатие в Nginx ? Подробнее

3 недели ago

Удаление postinst-скрипта в Linux

Иногда возникает ситуация, когда криво настроенные пакеты не устанавливаются в системе. У меня это произошло…

3 недели ago