Скрытое поле не подходит, т.к. палится и заполняется нужными данными
ну так и спросите в таком скрытом поле: "Ты-ка мне сумей добыть то, чаво на белом свете вообще не может быть!"))))))))
И как поле будет заполнено - это бот.
PS1: Есть еще вариант: прозрачное "проксирование" POST-запроса по URL-маске(-ам):
1. Проверка при сабмите переменной капчи.
2. Если капчу не прошли - играем в тест тьюринга (прям на всю страницу).
3. Прошли - передаём POST-запрос сайту и устанавливаем переменную-флаг, что капча для этой сессии - пройдена, и больше не запрашиваем её.