Поскольку сегодня 15 января — международный CAPTHA-day, то и я предложу свой вариант.
Моя идея в интерактивном взаимодействии с пользователем, чтобы понять что это не робот. Для начала нужно задать пользователю какую-то несложную задачу. Символы, введённые с клавиатуры немедленно отправлять на сервер с помощью AJAX и таким образом определять — человек это или нет. Если слово введено за одну миллисекунду — значит это робот. Опять-же можно интерактивно менять задачу и следить за реакцией пользователя. Как это могло бы быть в несколько утрированном виде можно увидеть на картинке McBernar, в каждой шутке лишь доля шутки ;-)

image
Издеваться над пользователем при этом конечно не нужно, но зато на одну и ту-же картинку, которая всё-таки может быть распознана получается большое количество вариантов ответов, а не просто набор всего подряд текста с неё или тыкание в нужную область.
Комбинирование двух (или более) задач резко повышает «секретность замка», а контроль за скоростью ввода пользователя — лишает возможности открыть его брутфорсом.

Реализация интерактивности возможна также через взаимодействие мышью с объектами (в этом случае нужно контролировать перемещение мыши и скорость кликов, аналогично контролю за вводом).
Ну и на ресурсах, где широко используется flash можно сделать каптчу на нём (там всё равно без поддержки flash делать нечего), это позволит минимизировать непонят��ость, но на opera mini увы работать не будет.

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