看来我每周都会为某人或另一个人编写联系表单。我已经开发了一个验证/邮件客户端/邮件谢谢/保存到DB /感谢页过程,这是相当强大的,但我想知道其他人有什么经验来执行这个最常见的网站任务?处理联系表单的最佳做法是什么?
回答
- 确保它的工作原理没有JavaScript(或优雅地失败)发送电子邮件
- 使用参数化查询之前
- 地带出任何讨厌的字符写入到数据库时
- 一定的
From
或Reply-to
头设置为发件人的电子邮件地址 - 阅读this article on form validation。
我会给你最好的提示是想出了一个好办法来防止垃圾邮件。我们使用蜜罐技术,我们发现它非常有效,实现起来也非常简单。它涉及到两个额外的文本字段添加到每个表单,由CSS隐藏。其中一个字段(在input1中调用)将具有一个设置值,您可以在处理页面上检查该值,另一个字段(input2)将其值留空。很多自动垃圾邮件都会使用一个bot来检测表单的存在并自动填充所有表单域。使用我们的技术,只需通过检查input1仍然具有初始值并且input2仍然具有值“”,我们就可以猜测表单不是由bot或类似的自动填充的。我们确实有更先进的技术来检查每个领域的内容,但作为一个简单的技巧,这是一个真正的赢家,几乎完全消除了自动联系形式的垃圾邮件。
不错的建议。我正在评论垃圾邮件,但有很多技术,我不确定哪些目前与最新的僵尸工具不兼容。 – 2009-10-08 20:44:59
这是个好主意。 CAPTCHA在企业客户的花哨网站上看起来很丑。但是,当表单开始发送垃圾邮件时,我经常只是添加适当的电子邮件地址验证以阻止最糟糕的情况。 – Dan 2009-10-09 10:11:13
- 1. 处理重复方法调用的最佳做法是什么?
- 2. 在CodeIgniter中处理表单数据的最佳做法是什么?
- 3. 什么是在C#中的文件处理的最佳做法?
- 4. 处理表单处理的最佳做法
- 5. 处理应用程序配置的最佳做法是什么?
- 6. 处理内存不足错误的最佳做法是什么?
- 7. 处理文件和路径的最佳做法是什么?
- 8. 在WinForm中处理CheckBox控件的最佳做法是什么?
- 9. 在Unity中处理基类的最佳做法是什么
- 10. 在R中处理时间的最佳做法是什么?
- 11. 处理重复瓶子的最佳做法是什么
- 12. WPF ValueConverter错误处理的最佳做法是什么?
- 13. 处理CSS margin/padding“冲突”的最佳做法是什么?
- 14. 处理安装依赖关系的最佳方法是什么?
- 15. Redis中的列表和集合处理的最佳做法是什么?
- 16. 什么是重建表格时处理sql索引的最佳做法
- 17. 沟通表单的最佳做法是什么?
- 18. 在Lektor中包含联系表单的最佳方法是什么?
- 19. 什么是ViewModel的最佳做法
- 20. 处理这些PDFSharp表限制的最佳方法是什么?
- 21. 处理动态表单内容的更好做法是什么?
- 22. 在REST api中路由关系的最佳做法是什么?
- 23. ASP.NET缓存,什么是最佳做法
- 24. WCF休息 - 最佳做法是什么?
- 25. Nginx和runit ....什么是最佳做法
- 26. ASP.net:处理清理页面的最佳方法是什么?
- 27. 在html中处理复杂表单的最佳方法是什么?
- 28. 处理NumberFormatExeption的最佳做法
- 29. 处理UI事件的最佳做法
- 30. 在Laravel中处理空的雄辩查询的最佳做法是什么?
Gpood的建议。我总是告诉我们的开发人员不要依赖JavaScript进行验证,因为它不可靠。 – Dan 2009-10-09 10:12:41