Защита от авто-заполнения форм
Код подтверждения
Самый распространенный способ.Вы знакомы с требованием ввести текст с картинки. Есть один существенный минус в этом методе - мы заставляем посетителя делать бессмысленную работу, т.е. ввести не содержащий информацию текст. Испробовав разные скрипты, порекомендую вам разработанный . скачать Я сам сделал свой скрипт такого рода, но он слишком уж нетрадиционный, потому не предлагаю. А вообще, рекомендую делать самим, чем кустарнее, тем надежнее защита от роботов.
Ловушка
Создаем скрытое поле, не hidden, а напр. скрытое средствами CSS. Назовем поле напр. email. Обычный посетитель не видит это поле и естественно не заполняет его. Спам-робот заполнит это поле. Форма должна обрабатываться только, если это поле будет пустым. Можно сделать по-другому. Если спрятанное поле не заполнено, письмо идет вам, а если введен какой-то email, то на него письмо и уйдет. Но скорее всего email будет не настоящий. Бесспорный плюс этого метода, он совершенно не виден посетителю, так и должно быть. Идея взята с www.nedbatchelder.com/text/stopbots.html Создаем поле напр.<input type=text name=email style="display: none">А страница обработки будет выглядеть примерно
<? if($email=='') { $a="my@mail.ru";} else { $a=$email;} mail("$a", "письмо с сайта", " от $name email-отправителя: $mail тема: $reason текст письма: $message", "From: <$mail>\nContent-type: text/plain; charset=utf-8"); ?>
id сессии
Если используются сессии, то в элемент пишем id сессии напр.<input type=hidden name=id_ses value=<? echo id_session(); ?>>Затем проверяем, если
$_POST['id_ses']== id_session()то выполняем действие, если нет не выполняем.