Если у вас нет спама, я бы об этом не беспокоился.
Как говорится, если он у вас есть, вы хотите знать, какой спам вы получаете. Проверка входных данных по модели должна предотвратить большинство из них, если у вас есть ограничения на допустимые входные данные. Если что-то подтверждается или вам по какой-то причине нужно принять все, вы можете начать с медового банка, который является простым, не навязчивым методом.
Чтобы реализовать медовый горшок, вы в основном добавляете поле, скрываете его с помощью CSS и проверяете, что это поле равно нулю на стороне сервера. Большинство спам-ботов заполняют все поля, и они идентифицируют, когда что-то автоматизированное отправило форму.
Если вы сочтете это неэффективным для предотвращения спама на вашем сайте, вам нужно посмотреть, какой спам распространяется, и найти что-то, что этому препятствует. В крайнем случае, вы можете перейти к навязчивым действиям, таким как recaptcha. Реальная проблема с CAPTCHA (поскольку Эрик Липперт кратко заявляет это ) заключается в том, что они принимают на себя вину, что пользователь пытается сделать что-то плохое, и это отрицательно влияет на ваших пользователей.