Кажется, я каждую неделю программирую контактную форму для кого-то или другого. Я разработал валидатор/почтовый клиент/почту thankyou/save для процесса DB/thankspage, который довольно устойчив, но мне было интересно, какие уроки у других есть для выполнения этих наиболее распространенных задач веб-сайта?Каков наилучший способ обработки контактной формы?
ответ
- Убедитесь, что она работает без Javascript (или не корректно)
- Газа любых неприятных символов перед отправкой сообщения
- Используйте параметризованные запросы при записи в базу данных
- Убедитесь, что заголовок
From
илиReply-to
установлен на адрес отправителя - Прочитано this article on form validation.
Лучший намек, который я бы вам дал, - это придумать хороший способ предотвратить спам. Мы используем метод honeypot, который мы находим очень эффективным и также очень прост в реализации. Это включает добавление двух дополнительных текстовых полей в каждую форму, скрытых CSS. Одно из этих полей (позволяет вызывать input1) будет иметь заданное значение, которое вы можете проверить на своей странице обработки, другое поле (input2) будет иметь свое значение, оставленное пустым. Многие автоматические спам будут использовать бота, который обнаружит наличие формы и автозаполнение всех полей формы. С помощью нашей методики, просто проверяя, что вход 1 все еще имеет свое начальное значение, и что input2 все еще имеет значение «», мы можем догадаться, что форма не была авторизована ботом или подобным. У нас есть более совершенные методы для проверки содержимого каждого поля, но в качестве простого трюка этот является настоящим победителем и почти полностью уничтожил автоматическую контактную форму спама.
Хорошее предложение. Я собирался прокомментировать спам, но есть так много методов, и я не был уверен, что в настоящее время работает против последних ботов. –
Это хорошая идея. CAPTCHA выглядит уродливым на сайте модных брюк корпоративного клиента. Однако, когда форма начинает получать спам, я часто просто добавляю правильную проверку адреса электронной почты, чтобы остановить ее. – Dan
- 1. Каков наилучший способ обработки валидации в WPF?
- 2. Каков наилучший способ обработки даты в объектах формы Rails
- 3. Каков наилучший способ обработки (вложенных) наборов записей?
- 4. Каков наилучший способ обработки нескольких экранов «добавить»
- 5. Каков наилучший способ обработки нескольких типов разрешений?
- 6. Каков наилучший способ обработки словарей в python?
- 7. Каков наилучший способ обработки этого XML-фида?
- 8. Каков наилучший способ обработки пула соединений?
- 9. Каков наилучший способ обработки фида в Android?
- 10. Каков наилучший способ обработки исключений в Perl?
- 11. Каков наилучший способ обработки json в monotouch
- 12. Каков наилучший способ обработки ответа в RestSharp?
- 13. Каков наилучший способ обработки Retina Displays?
- 14. Каков наилучший способ обработки нескольких вариантов поиска?
- 15. Каков наилучший способ обработки Multi-instance Properties.Settings.Default.Save()
- 16. Каков наилучший способ обработки переключения страниц?
- 17. Каков наилучший способ обработки XML в Android
- 18. Каков наилучший способ обработки исключений ObjectDataSource?
- 19. Каков наилучший способ обработки HTML в Python?
- 20. Каков наилучший способ обработки неудачных веб-запросов?
- 21. Каков наилучший способ обработки нескольких действий?
- 22. Каков наилучший способ обработки изображения в clojure?
- 23. Каков наилучший способ обработки временных строк?
- 24. Каков наилучший способ обработки ошибок в VB6
- 25. Каков наилучший способ обработки входящих SMS-сообщений?
- 26. Каков наилучший способ обработки представлений iPad/iPhone?
- 27. Каков наилучший способ обработки сообщений Node.js?
- 28. Каков наилучший способ обработки XML в Python?
- 29. Каков наилучший способ обработки проекта «все комбинации»?
- 30. Каков наилучший способ обработки асинхронных запросов
Gpood совет. Я всегда говорю нашим разработчикам не полагаться на JavaScript для проверки, поскольку он не является надежным. – Dan