Изящный способ борьбы со спамом веб формах с помощью CSS. Хитрость заключается вот в чем: надо создать фиктивное поле в форме, скрытое с помощью CSS. Человек, пользующийся обычным браузером, это поле не увидит и не заполнит, в отличие от спам-бота, которые в большинстве своем CSS вообще не понимают. А дальше дело техники: серверный скрипт проверяет заполнено ли фиктивное поле и если оно заполнено — дает отлуп. Все просто и изящно, однако если будет применяться массово, то спам-боты научатся таки распознавать CSS и все вернется на круги своя.
Написано вот тут.
Вообще да, любой способ борьбы стоит именно на этом: чем штука массовей, тем больше выгоды ее сломать. Поэтому каждому приходится изобретать свой способ.
Я не так давно придумал менее изящный способ: передавать в поле hidden время (timestamp) генерации страници с формой. А потом сравнивать с текущим временем на сервере.
Понятно, что боты будут постить спам, скорее всего, «слишком быстро», не тратя время на набор текста.
Пока не уверен, как будет работать этот способ, надо проверять.
True story.