【问题标题】:What's the best-practice way to process a contact form?处理联系表的最佳实践方式是什么?
【发布时间】:2009-10-08 08:39:19
【问题描述】:

看来我每周都在为某人或另一个人编写联系表格。我开发了一个相当强大的验证/邮件客户端/邮件感谢/保存到数据库/感谢页面流程,但我想知道其他人在执行这个最常见的网站任务方面有什么经验教训?

【问题讨论】:

    标签: validation forms


    【解决方案1】:

    我给您的最佳提示是想出一个防止垃圾邮件的好方法。我们使用一种蜜罐技术,我们认为这种技术非常有效,而且实现起来也非常简单。它涉及向每个表单添加两个额外的文本字段,由 CSS 隐藏。其中一个字段(让我们在 input1 中调用)将具有一个设置值,您可以在处理页面上检查该值,另一个字段(input2)将其值留空。许多自动垃圾邮件将使用机器人来检测表单的存在并自动填充所有表单字段。使用我们的技术,只需检查 input1 仍然具有初始值并且 input2 仍然具有 "" 值,我们就可以猜测表单不是由机器人或类似工具自动填充的。我们确实有更先进的技术来检查每个字段的内容,但作为一个简单的技巧,这是一个真正的赢家,并且几乎完全消除了自动联系表单垃圾邮件。

    【讨论】:

    • 不错的建议。我本来打算对垃圾邮件发表评论,但技术太多了,我不确定哪些目前正在对抗最新的机器人。
    • 这是个好主意。验证码在公司客户的花哨网站上看起来很丑。但是,当表单开始被垃圾邮件发送时,我通常只是添加适当的电子邮件地址验证来阻止最糟糕的情况。
    【解决方案2】:
    1. 确保它在没有 Javascript 的情况下工作(或正常失败)
    2. 在发送电子邮件之前删除所有讨厌的字符
    3. 写入数据库时​​使用参数化查询
    4. 确保将FromReply-to 标头设置为发件人的电子邮件地址
    5. 阅读this article on form validation

    【讨论】:

    • Gpo 建议。我总是告诉我们的开发人员不要依赖 JavaScript 进行验证,因为它不可靠。
    猜你喜欢
    • 1970-01-01
    • 2011-05-27
    • 2011-09-22
    • 2021-11-25
    • 1970-01-01
    • 1970-01-01
    • 2013-10-15
    • 2020-06-05
    • 1970-01-01
    相关资源
    最近更新 更多