【发布时间】:2011-03-28 18:43:15
【问题描述】:
我们如何在同一页面上实现两个 recaptcha 用户控件。
问题:
我们有两种视图,一种用于通过发送电子邮件向朋友介绍该网站,另一种用于编写任何注释。告诉朋友部分是隐藏的,它通过 ajax 发送电子邮件,注释作者部分是可见的,所以当我们需要两者但以不同的方式时,它会产生问题。
【问题讨论】:
-
我添加的两种方式都没有处理验证码
标签: recaptcha
我们如何在同一页面上实现两个 recaptcha 用户控件。
问题:
我们有两种视图,一种用于通过发送电子邮件向朋友介绍该网站,另一种用于编写任何注释。告诉朋友部分是隐藏的,它通过 ajax 发送电子邮件,注释作者部分是可见的,所以当我们需要两者但以不同的方式时,它会产生问题。
【问题讨论】:
标签: recaptcha
这似乎不合理,我建议不惜一切代价避免这种情况,因为如果您确实需要其中两个,则会遇到严重的可用性问题。为什么你还需要两个验证码?验证码背后的主要思想是确保有人在表单中输入数据,而不是计算机。
因此,如果页面上有一个验证码,您就放心了。因此,如果第一个是由一个人填写的,那么所有其他数据也是如此,您不需要第二个。
但我可以看到一种情况,其中两个验证码可能会到位。这就是页面上有两个<form> 元素的时候。因此,用户可以提交一个或另一个。在这种情况下,用户将始终只从一个表单提交数据,而不是同时提交。因此,您也可以通过以下方式避免这种情况:
第二个是您要避免的。如果您向我们提供更多详细信息,您的业务问题是什么,我们可以为您提供更好的答案。
既然您描述了您的实际业务问题,我建议您看看 honey pot 技巧,该技巧更常用于此类场景。因为如果你在你的网站上使用了太多的验证码,人们会很生气。他们是乏味的工作,这是肯定的。蜜罐技巧可以帮助您避免这些不必要的数据输入。
当然,另一个问题是:您的用户在进行这些操作时是否已登录?尤其是编辑部。如果是,您可以更好地缓解此问题。您可以为每个用户设置发送消息的时间限制。就像每分钟几个。这就是一个人会做的事情。当然,存储有关发送这些电子邮件的信息,因此您仍然可以历史跟踪用户所做的事情,以便您可以禁用被滥用的帐户。但是当用户登录时,他们通常不必输入验证码,因为他们已经在身份验证阶段识别了自己。
最终的问题当然是:为什么机器人会向朋友发送电子邮件?他们将无法发送任何类型的垃圾邮件吗?那有什么意义呢?如果机器人可以向用户发送垃圾邮件,它们更有可能滥用您的系统。通过发送带有内容的电子邮件或在您的网站上留下垃圾邮件。这些表单需要机器人检查。
【讨论】: