По моему опыту, если форма является просто "контактной" формой, вам не нужны специальные меры. Спам прилично фильтруется службами веб-почты (вы можете отслеживать запросы веб-форм с помощью серверных сценариев, чтобы увидеть, что эффективно достигает вашей электронной почты, конечно, я предполагаю, что у вас есть хороший веб-почтовый сервис: D)
Кстати, я стараюсь не полагаться на сессии для этого (например, считая, как
многократно нажимается кнопка для предотвращения перегрузок).
Не думаю, что это хорошо. На самом деле я хочу получать электронные письма от пользователей, которые выполняют определенные действия, потому что это те пользователи, которые мне интересны (например, пользователи, которые просмотрели страницу "CV" и использовали правильная контактная форма). Поэтому, если пользователь делает то, что я хочу, я начинаю отслеживать его сеанс и устанавливаю cookie (я всегда устанавливаю cookie сеанса, но когда я не запускаю сеанс, это просто поддельный cookie, созданный для того, чтобы считать, что у пользователя есть сеанс). Если пользователь делает что-то нежелательное, я не беспокоюсь о сохранении для него сеанса, поэтому никаких перегрузок и т. Д.
Также было бы неплохо, чтобы рекламные сервисы предлагали какие-то API-интерфейсы (возможно, они уже существуют), чтобы посмотреть, «смотрел ли пользователь объявление», вполне вероятно, что пользователи, просматривающие рекламу, являются реальными пользователями, но если они не очень хорошо, по крайней мере, вы получаете 1 просмотр в любом случае, так что ничего не потеряно. (и поверьте мне, контроль над рекламой более сложен, чем все, что вы можете сделать в одиночку)