Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的联系人表单的垃圾邮件预防_Javascript_Coldfusion_Spam Prevention_Coldfusion 7 - Fatal编程技术网

Javascript 我的联系人表单的垃圾邮件预防

Javascript 我的联系人表单的垃圾邮件预防,javascript,coldfusion,spam-prevention,coldfusion-7,Javascript,Coldfusion,Spam Prevention,Coldfusion 7,我已经做了很多关于垃圾邮件预防方法的研究,我不想求助于使用验证码 表单通常会向用户和网站管理员发送一封包含表单内容的电子邮件 我所做的第一件事是删除发送给用户的电子邮件中表单的内容,并简单地发送一条确认消息 我已经添加了一行的人'标题'和隐藏的行使用CSS,如果该字段填写。提交完成,无需发送任何电子邮件 我想添加一些其他技巧, 检查完成提交的时间-如果少于5秒,请勿发送电子邮件。 通过唯一ID-如果不匹配,则不要发送电子邮件 问题是网站页面是缓存的,所以直接设置会话变量是没有用的。我正在考虑使用

我已经做了很多关于垃圾邮件预防方法的研究,我不想求助于使用验证码

表单通常会向用户和网站管理员发送一封包含表单内容的电子邮件

我所做的第一件事是删除发送给用户的电子邮件中表单的内容,并简单地发送一条确认消息

我已经添加了一行的人'标题'和隐藏的行使用CSS,如果该字段填写。提交完成,无需发送任何电子邮件

我想添加一些其他技巧,
检查完成提交的时间-如果少于5秒,请勿发送电子邮件。
通过唯一ID-如果不匹配,则不要发送电子邮件

问题是网站页面是缓存的,所以直接设置会话变量是没有用的。我正在考虑使用ajax来命中CFC并设置变量,但这需要JavaScript

我是否应该将提交仅限于启用了JavaScript的用户?或者有其他的建议吗


谢谢

我建议你看看,因为它对我很有用。

丹尼尔

我有一个类似的垃圾邮件检测方法,从去年开始就已经存在。我可以分享我所看到的

基于会话的测试: 检查某人填写表单所需的时间以及检查用户是否来自正确的页面都是非常可靠的检查,尽管有些困难。在您的情况下,强制用户使用支持javascript的现代浏览器可能是您的最佳选择。我想这似乎正在成为一种更为普遍的做法,对吧?我真的不知道

基于内容的测试: 另外两个相当有用的实践是检查表单字段是否包含不同的值,以及输入的URL是否不超过指定数量。垃圾邮件发送者几乎总是把相同的垃圾URL粘贴到每个领域。但是,这些检查不如基于会话的检查好

除了上述检查外,我们的垃圾邮件检测启发式还有一些其他检查:

  • 基本正则表达式注入测试-基本内容,但如果您感兴趣,我可以与您分享
  • 垃圾邮件内容-非常无用-一个主要由手工构建的简单库
  • 被禁止的IP地址-也很没用
一些数据来自我们过去一年左右的启发。 失败测试总数=83356

  • 注射试验失败=54(0未通过该试验,无其他试验)
  • 输入测试中失败的URL太多=18935(2396)
  • 垃圾邮件内容测试失败=3673(46)
  • 隐藏字段篡改测试失败=60295(1479)
  • 可疑时间流逝测试失败=64430(17126)
  • 无效会话测试失败=28706(140)
  • 失败的字段包含相同的值Test=167(49)
  • 失败的禁用IP地址(未实现)=0(0)
我不想发布太多关于我们标准的细节,但如果您感兴趣,我很乐意分享代码


-Ben

这里有一篇旧的博客文章,仍然有相关的技术:谢谢,我今天将完成开发,所以我想我将获得JavaScript ajax路线。谢谢你的意见!接下来-我想我实际上可能只是从缓存中删除页面-这样会更容易!如果网站关闭,那么表单无论如何都不会工作。