如何在同一页面中实现两个recaptcha

时间:2010-08-12 06:57:49

标签: recaptcha

我们如何在同一页面上实现两个recaptcha用户控件。

问题:

我们有两个观点,一个是通过发送电子邮件和另一个创作任何笔记来告诉朋友有关该网站的信息。告诉朋友部分是隐藏的,通过ajax发送电子邮件,注意作者部分是可见的,所以当我们需要时,它会以不同的方式出现问题。

1 个答案:

答案 0 :(得分:4)

重构以避免可用性问题

这似乎不合理,我建议不惜一切代价避免这种情况,因为如果你确实需要其中两个,那么你就会遇到严重的可用性问题。为什么你还需要两个验证码呢?验证码背后的主要思想是确保有人在表单中输入数据,而不是计算机。

因此,如果页面上有一个验证码,那么您可以放心。因此,如果第一个数据由一个人填充,则所有其他数据也是如此,您不需要第二个数据。

但我可以看到一个场景,其中两个验证码可以到位。那就是当你在页面上有两个<form>元素时。因此,用户可以提交一个或另一个。在这种情况下,用户将始终只从一个表单提交数据,而不是两者都提交。所以你可以通过以下方式避免这种情况:

  • 将这两个表单分成两个页面/视图,并附加一个前置条件页面,用户可以选择这两个表单中的一个
  • 首先隐藏验证码,但是当用户开始将数据输入其中一个表单时,您可以使用表单内的验证码移动隐藏的DIV并显示它。这样,页面上只有一个验证码,它将出现在用户即将发送的表单上

第二个是你想要避免的那个。如果您向我们提供有关您的业务问题的更多详细信息,我们可以为您提供更好的答案。

替代

由于您描述了实际的业务问题,我建议您查看 honey pot 技巧,这种情况更常用于此类情景。因为如果你在你的网站上使用过多的验证码,人们就会生气。他们是乏味的工作,这是肯定的。蜜罐技巧可以帮助您避免这些不必要的数据进入。

另一个问题当然是:您的用户在有这些操作时是否已登录?特别是编辑一个。如果是,您可以更好地缓解此问题。您可以为每个用户设置发送消息的时间限制。像每分钟一样。这就是一个人会做的事情。当然存储有关发送这些电子邮件的信息,因此您仍然可以保留用户所做的事情的历史记录,这样您就可以禁用此滥用的帐户。但是当用户登录时,他们通常不必输入验证码,因为他们已经在验证阶段识别了自己。

最终的问题当然是:为什么机器人会向朋友发送电子邮件?他们不能发送任何类型的垃圾邮件吗?那有什么意义呢?如果机器人无论如何都会垃圾邮件,那么机器人更有可能滥用您的系统。通过发送包含内容的电子邮件或在您的网站上留下垃圾评论。这些表格需要进行机器人检查。