【问题标题】:Storing multiple CAPTCHA solutions in a session在会话中存储多个 CAPTCHA 解决方案
【发布时间】:2013-01-31 14:52:23
【问题描述】:

我正在为我的网站实现3D CAPTCHA

我最初的想法是将预期的验证码解决方案存储在会话变量中。用户提交表单后,我会将其与他们的回复进行比较。

如果用户在多个标签中打开我的网站会发生什么?对于每个选项卡,都会生成一个新的 CAPTCHA 质询,并覆盖会话中的预期响应变量。

现在考虑用户在“旧”选项卡中提交表单。由于会话中预期的响应变量已被覆盖,因此它们不会通过测试。

我应该担心这个吗?你会怎么处理呢?

【问题讨论】:

  • 别担心。您无法可靠地识别页面请求来自何处(不同的选项卡?不同的窗口?)。最多一个人只会在“早期”窗口上失败,因为“最后一个”窗口的验证码覆盖了设置。他们加载了另一个验证码然后就走了。
  • @MarcB:谢谢,只是想确保这不是一个坏习惯。

标签: session security captcha challenge-response


【解决方案1】:

这是验证码的一般方法,有时也是验证码不验证的原因。

这是一本好书 http://www.sitepoint.com/captcha-inaccessible-to-everyone/ 为什么不使用验证码

但是,您可以将它们添加到数组中,然后查看答案是否存在于数组中。 您没有说明您使用的是哪种语言,否则我可以提供一些代码。

【讨论】:

  • 在会话中为 php 存储数组:phpriot.com/articles/intro-php-sessions/7
  • 我正在使用 python 和 django。无论如何,我很懒,所以我会接受@MarcB 的建议。我读了你链接的文章。不幸的是,它没有建议任何 CAPTCHA 替代方案。
  • 替代方案:您可以添加(不可见)永远不应该包含文本的输入 机器人通常会填写每个字段。如果这样可行,那么对用户来说肯定会更容易。其次,您可能会查看projecthoneypot.org 抱歉,python 不是很好,但这似乎接近您的问题的解决方案:djangofoo.com/57/session-arraylist-append-does-not-work
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-21
  • 1970-01-01
  • 2017-03-25
  • 2010-10-10
  • 2010-09-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多