Здравствуйте, Menelion Elensuule.
> На некоторых сайтах, в том числе и на наших, применяется другой алгоритм.
> Выбираются
> случайно два числа в пределах десяти и действие - сложение, вычитание,
> умножение.
> И пишется что-то вроде "Вычислите семь плюс два, а результат запишите
> числом".
Как ты понимаешь, это вариант для не очень крупных проектов.
В сущности за 20 минут можно написать робота, который будет решать такую
CAPTCHA:
1( Получаем строку с задачей и разбиваем её по словам
2) В сегментах 2, 3 и 4 проверяем наличие соответствующих ключевых слов:
имена цифр и названия математических действий.
3) По результатам шага 2 собираем арифметическое выражение, которое и
рассчитываем
4) Вводим результат рассчитанного выражения в поле и спамим. :)
Задача в форме текста, который без труда может получить робот, - это всегда
уязвимый вариант, поэтому крупные ресурсы, для которых проблема ботов
актуальна, никогда на это не согласятся.
Оптимальным вариантом пока что является всё-таки графическая CAPTCHA,
продублированная аудио. Причём в обоих вариантах информация подвержена
искажению для препятствия машинному распознаванию.
В принципе есть доступные API подобных сервисов, то есть владельцу ресурса
не надо ничего разрабатывать, а достаточно просто воспользоваться уже
готовой технологией.
Здесь есть только одна проблема, а именно языковой барьер. Если цифры
пишутся в разных языках одинаково, то вот произносятся они всё-таки
по-разному.
Например, тот же сервис Google CAPTCHA пока только на английском.
Теоретически можно реализовать интернациональный вариант, где, например,
надо будет сосчитать число щелчков, но такая реализация уже более уязвима
для машинного решения.
Успехов. Никита.