Rss
Мини чат...
File engine/modules/iChat/show.php not found. File engine/modules/iChat/run.php not found.
Коментарии
File engine/modules/iComm/run.php not found.
Расскажите о нас
Популярное
Друзья сайта
Авторизация с помощью

Рекомендую хостинг BeGet.ru Шаблоны DLE
Календарь
«    Июнь 2019    »
ПнВтСрЧтПтСбВс
 12
3456789
10111213141516
17181920212223
24252627282930
Опросы
Оцените работу сайта

Реклама
» » » Как защитить свою форму обратной связи от атаки?
  • Опуликовал: lvitali
  • |
  • Коментариев: 0
  • |
  • Просмотров: 173
 В большинстве случаев форма обратной связи отправляет информацию методом POST, либо сразу через функцию mail(). Не будем углубляться в дебри, но эти решения грешат возможностью автоматизации отправки огромного количества писем на ящик, в который уходят сообщения из формы обратной связи. Вот посмотрите предупреждение браузера Firefox2 о повторной отсылке информации на сервер:

Как защитить свою форму обратной связи от атаки?

  Браузер Mozilla Firefox 2.0.0.12 
 Как вы сами понимаете, простое нажатие кнопки F5 на клавиатуре снова отправит вам письмо. Ну а автоматизировать данный процесс, повторюсь, совсем не сложно (хотя бы с помощью Opera).

 А теперь давайте поговорим о том, как можно исправить положение, не отказываясь от формы обратной связи.

 Я предлагаю пять вариантов, каждый вариант обладает как положительными сторонами, так и отрицательными.

 Вариант номер 1:

 Ajax.

 Вот несколько из них:
 AJAX contact form — [Описание][Демо]
 An AJAX contact form — [Описание][Демо]
 Ajax.Form.Mootools — [Описание + Демо]

 Хорошо: множество готовых примеров; сообщение отправляется без перезагрузки страницы;

 Плохо: если у пользователя отключён javascript — то форма работать не будет.
 
 Вариант номер 2:

 Редирект.

 После отправки сообщения — моментальный редирект на любую другую страницу, к примеру на страницу с формой. Над формой можно вывести сообщение, что письмо отправлено.

 Сделать это можно несколькими путями, самый топорный — это через META-теги: <meta http-equiv="refresh" content="0; url=index.html">

 Хорошо: работает, и в большинстве случае помогает;

 Плохо: у этого решения отвратительное юзабилити.
 
 Вариант номер 3:

 Работа с БД.

 Форма отправляет сообщение не на почтовый ящик, а складывает в базу данных. Соответственно можно отсекать попытки спама просто и незатейливо. К примеру запись не вноситься в БД, если содержимое полностью совпадает с содержимым предыдущего сообщения, при условии того, что IP у отправивших одинаковые, либо из одной подсети. Тут можно придумать массу вариантов. Сообщения из формы обратной связи могут быть интегрированы, к примеру, с CRM.

 Хорошо: на мой взгляд очень хорошая защита;

 Плохо: требуется база данных, увеличивается время работы скрипта, увеличиваются требования к мощностям (если сайт популярен, то особенно), обмануть всё-таки можно.
  
 Вариант номер 4:

 Cookie.

 При нажатии на кнопку «отправить» можно записывать браузеру куку, при наличии которой повторно отослать сообщение можно только через некоторое время.

 Хорошо: способ работает, потенциальное количество спама уменьшается;

 Плохо: куки могут быть отключены (специально или нет — но вы же не запретите отправку сообщения только потому, что куки отключены), куки можно стирать автоматически.
 
 Вариант номер 5:

 Captcha.

 Капча (если он не кривая) спасёт от спама через форму обратной связи.

 Вам помогут ссылки:
 reCaptcha
 CAPTCHA.ru
 Cryptographp
 w3captcha

 Хорошо: способ действенный;

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

Предыдущая | Страница статьи: 2

    Пожалуйста - Не забывайте поделиться!


Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.