2

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

问题 :

我们有两种观点,一种是通过发送电子邮件向朋友介绍该网站,另一种是撰写任何注释。告诉朋友部分是隐藏的,它通过 ajax 发送电子邮件,注释作者部分是可见的,所以当我们需要两者但以不同的方式时,它会产生问题。

4

1 回答 1

4

重构以避免可用性问题

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

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

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

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

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

备择方案

既然您描述了您的实际业务问题,我建议您看一下蜜罐技巧,该技巧更常用于此类场景。因为如果你在你的网站上使用了太多的验证码,人们会很生气。他们是乏味的工作,这是肯定的。蜜罐技巧可以帮助您避免这些不必要的数据输入。

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

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

于 2010-08-12T07:02:35.547 回答