Слабости Captcha

Уязвимости кода

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

Решение:

Отсутствие в коде капчи каких-либо указаний на её решение. Удаление решения сразу после прохождения теста. Хранение значения для проверки на сервере, а не передача его в браузер.

Возможность угадывания

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

Решение:

Установка ограничения на количество введенных вариантов ответа с одного Ip-адреса. Установка минимального времени заполнения формы.

Базы данных

С помощью баз данных спам боты могут найти ответы на вопросы, составленые лично администратором сайта

Решение:

Составление вопросов, ответы на которые необходимо как-либо видоизменить. (Предложить записать только согласные буквы, к примеру)

Автоматическое распознавание

Существуют программы распознающие конкретные реализации капчи. Кроме того, возможно подключать модули из программ распознавания текста общего назначения в программы сторонних разработчиков для распознавания картинок капчи. По отношению к автоматизированному распознаванию существуют понятия «слабая капча» и «сильная капча». В числе «слабостей» — фиксированный шрифт, фиксированное положение символов, отсутствие искажений, отделение символов от фона с использованием цветового ключа или размытия по Гауссу, лёгкое отделение символов друг от друга и т.д.

Решение:

Максимилизация изменения символов, без потери возможности понимания людьми. Использование усовершеннствованных Captcha на основе библиотеки GD Graphics Library

Распознавание чужими руками

Существует способ распознавания капчи, использующий человеческий ресурс. Робот скачивает капчу с нужного веб-сервиса и предлагает его поситителю, какого-либо сайта с крупным трафиком, пользователь получает доступ к ресурсу, а робот узнает код к капче. Также существуют сервисы которые платят за введение капчи, и люди ,не подозревая, заполняют базы данных спам-ботов

Решение:

Своевременное обновление системы капчи. Защита капчи от скачивания ботом, посредством кода.