www.seomark.ru
Обзоры интересных и полезных программ, фотография, радио, веб-дизайн и т.д. и т.п. и др. и пр.

Веб-дизайн и поисковая оптимизация

Логотип Софт

Создание формы обратной связи

Форма обратной связи и спам в почте

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

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

Так как спам-программы обычно отключают выполнение скриптов JavaScript, то изменим нашу страницу с формой обратной связи так, чтобы на ней не было самой формы, а она открывалась бы в отдельном небольшом окне с помощью JavaScript и, следовательно, будет недоступна спам-роботу:
<a href="javascript:" title="Сообщение с сайта" onclick="window.open('mess.html','','width=500, height=350, left=0, top=0'); return true;">текст ссылки</a>.

Такая ссылка будет выглядеть следующим образом:

Вы можете отправить сообщение, заполнив форму обратной связи.

Таким образом, сама форма обратной связи содержится на странице mess.html и открывается в отдельном окне размером width=500, height=350 в левом верхнем углу экрана. Кстати, там же откроется и php-страница с результатом отправки сообщения (см. статью "Создание формы обратной связи на сайте)".

Теперь при появлении спама с формы обратной связи вам необходимо будет переименовать страницу mess.html и изменить ссылку в javascript. Так как обычно появление спама в почте начинается примерно через 1-2 месяца после размещения на сайте формы обратной связи, то больших усилий по изменению адресов от вас не потребуется.

Для более эффектного вывода формы обратной связи в отдельном окне можно использовать плагины jQuery. О том, как просто это сделать, смотрите в статье "Применение jQuery для формы обратной связи".

Способ второй.
Напомню и еще один способ уменьшения спама, о котором упоминалось ранее. Вы создаете в форме обратной связи обычное текстовое поле ввода, но делаете его скрытым (style="display:none"). Пользователи этого поля не видят и не заполняют, а роботы могут заполнить, ибо стараются заполнить все поля.

В php-программе перед отправкой сообщения нужно проверить это поле. Если оно заполнено - значит, это робот, если пустое - то "живой" посетитель. Таким образом, мы не требуем от посетителя сайта разгадывать капчу, а анализируем поведение робота-спамера. Этот прием обеспечивает более эффективную защиту, чем первый, и его применение в форме обратной связи никогда не будет лишним.

Для реализации этого способа добавим в любом месте внутри тега <form>...</form> скрытое поле с именем, например, spam:
<input name="spam" type="text" style="display:none" />.

В РНР-программе проверим это поле с помощью конструкции if (если). Если поле пустое (empty), то выполняется блок отправки письма, заключенный в фигурные скобки, выделенные жирным красным цветом. В противном случае, этот блок пропускается и выполняется выход из программы без отправки письма (exit):

<?php
....
if (isset($_POST['spam'])) {$spam = $_POST['spam'];}
if (empty($spam)) /* Проверка скрытого поля */
{
$to = "Ваш e-mail";
$headers = "Content-type: text/plain; charset = windows-1251";
$subject = "Сообщение с вашего сайта";
... и так далее до конца программыы отправки письма (см. "Создание формы обратной связи")
}
exit; /* Выход без отправки письма, если поле spam не пустое */
?>

Также следует учесть, что роботы-спамеры в первую очередь сканируют страницы, на которых обычно присутствует форма обратной связи. Такие страницы чаще всего имеют названия contacts, kontakt, zakaz и аналогичные. Поэтому желательно избегать таких "говорящих" названий для страниц с формой.

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

12.10.2012 г.,
обновлено 10.01.2014 г.

Задать вопрос автору





Яндекс.Метрика
Продажа радиодеталей. Преобразователи напряжения

Copyright © 2008 - Марк Розенталь e-mail: Мой e-mail
Перепечатка материалов сайта разрешается при условии сохранения имени автора и гиперссылки на www.seomark.ru
Ключевые слова: создание формы обратной связи, спам и форма обратной связи, спам в почте, как убрать спам, капча