Хорошая капча сильно уменьшает количество спама, но при этом и пользователям становится неудобней... Можно использовать какой-то экзотический способ - легкий для людей и непривычный для скриптов - в этом случае количество спама тоже заметно сократится
У меня есть идея с использованием javascript. Если у поста есть полоса покрутки сбоку, значит, что бы отправить комент необходимо прокрутить страницу вниз. А это уже можно отслеживать яваскриптом. Далее просто, если зафиксирована прокрутка, добавляем в специальное поле секретный код. На стороне сервера просто проверяем его. если всё ок - постил человек.