Допустим, на сайте есть какая-то форма, которую надо защитить от спама. Например:
<input id="email" type="email" name="email" placeholder="Ваш эл.адрес" required="">
<textarea id="message" name="message" placeholder="Текст сообщения..." required=""></textarea>
<button type="submit" class="form__submit">Отправить</button>
</form>
Для этого в форму необходимо добавить скрытое поле с именем name или email, а настоящие поля для передачи имени и почты пользователя назвать по-другому. Пример скрытого поля: <input id="antispam" name="name" type="hidden" value="">.
<input id="email" type="email" name="email" placeholder="Ваш эл.адрес" required="">
<textarea id="message" name="message" placeholder="Текст сообщения..." required=""></textarea>
<input id="antispam" name="name" type="hidden" value=""> // скрытое поле
<button type="submit" class="form__submit">Отправить</button>
</form>
Это поле будет не видно человеку, но видно ботам. Принцип действия защиты очень прост: человек при отправке формы будет оставлять это поле пустым, а боты будут автоматически заполнять. Php - обработчик будет проверять поле на пустоту, и, если оно заполнено, то отправка письма производиться не будет.
{ echo $alert = ' Ваше сообщение не отправлено! ';}
else { // если пуст, то обработка формы..}
Как сделать форму связи на сайте с помощью php, можно прочитать здесь.