Каков наилучший способ обработки контактной формы?

Кажется, я пишу контактные формы для кого-то или другого каждую неделю. Я разработал довольно эффективный процесс проверки / почтового клиента / почты, спасибо / сохранения в БД / страницы благодарности, но мне было интересно, какие уроки есть у других для выполнения этой наиболее распространенной из задач веб-сайта?

2 ответа

Лучший совет, который я бы вам дал, - это найти хороший способ предотвратить спам. Мы используем технику honeypot, которую мы находим очень эффективной, а также очень простой в реализации. Он включает в себя добавление двух дополнительных текстовых полей к каждой форме, скрытых с помощью CSS. В одном из этих полей (давайте вызовем input1) будет задано значение, которое вы можете проверить на своей странице обработки, в другом поле (input2) его значение останется пустым. Много автоматизированного спама будет использовать бота, который будет определять наличие формы и автоматически заполнять все поля формы. С нашей техникой, просто проверяя, что input1 все еще имеет свое начальное значение и что input2 все еще имеет значение "", мы можем догадаться, что форма не была автоматически заполнена ботом или подобным. У нас есть более продвинутые методы для проверки содержимого каждого поля, но в качестве простого трюка, он является настоящим победителем и почти полностью уничтожил спам в форме автоматической связи.

  1. Убедитесь, что он работает без Javascript (или не работает изящно)
  2. Удалите любые неприятные символы перед отправкой электронного письма
  3. Используйте параметризованные запросы при записи в базу данных
  4. Будь уверен From или же Reply-to в заголовке указывается адрес электронной почты отправителя
  5. Прочитайте эту статью о проверке формы.
Другие вопросы по тегам