Всем известны способы позволяющие защитить гостевую книгу или комментарии к статье от спама. В основном пользуются “капчей” либо принуждая пользователей к регистрации. И тот и другой способ во многих случаях неприемлем, да и лично мне не нравится регистрироваться для того чтобы оставить пару слов.

“Капчи” неудобны по нескольким причинам: сложны для понимания человеком (сделано для лучшей защиты от распознавания); у пользователя могут быть отключена загрузка изображений; стандартные капчи уязвимы поэтому приходится писать свой генератор, что не всегда возможно из-за отсутствия времени или низкой квалификации программиста.

Я предлагаю очень простой вариант защиты, который значительно проще реализовать, но и эффективность eго будет не очень высокой если ваш сайт захотят заспамить специально.

Способ основан на том что живому человеку требуется определенное время на написание текста. Нужно просто добавить в форму скрытое поле с временем генерации страницы, можно дополнительно зашифровать чтобы это не было похоже на время.

При получении такой формы вы просто расшифровываете время и проверяете чтобы оно было меньше текущего, допустим, на семь секунд (если живой человек написал что-то быстрее то скорее всего его комментарий не будет слишком содержательным ;-)

При этом не забывайте что если ваша форма попала в спамерский список, то приходить сообщения будут значительно позже чем через семь секунд, из-за этого нужна проверка максимального времени. На паре своих сайтов я сделал этот период равным двум часам. Пока такая система работает достаточно эффективно.