Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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
Session 在会话中存储多个验证码解决方案_Session_Security_Captcha_Challenge Response - Fatal编程技术网

Session 在会话中存储多个验证码解决方案

Session 在会话中存储多个验证码解决方案,session,security,captcha,challenge-response,Session,Security,Captcha,Challenge Response,我正在为我的网站实现一个 我最初的想法是将预期的captcha解决方案存储在会话变量中。用户提交表单后,我会将其与他们的响应进行比较 如果用户在多个选项卡中打开我的网站,会发生什么?对于每个选项卡,将生成一个新的验证码质询,并覆盖会话中的预期响应变量 现在考虑用户在“旧”选项卡中提交表单。由于会话中的预期响应变量已被覆盖,因此它们将无法通过测试 我应该担心这个吗?您将如何处理它?这是CAPTCHA的一般方法,有时也是它们无法验证的原因 这是一个很好的阅读为什么不使用验证码 不过,您可以将它们添加

我正在为我的网站实现一个

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

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

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


我应该担心这个吗?您将如何处理它?

这是CAPTCHA的一般方法,有时也是它们无法验证的原因

这是一个很好的阅读为什么不使用验证码

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

不用担心。您无法可靠地识别页面请求的来源(不同的选项卡?不同的窗口?)。最多一个人只会在“较早”的窗口上失败,因为“最后”窗口的验证码重写了设置。他们加载了另一个验证码,然后就走了。@MarcB:谢谢,只是想确保这不是一个坏做法。在php会话中存储数组:我正在使用python和django。无论如何,我很懒,所以我会按照@MarcB的建议去做。我读了你链接的文章。不幸的是,它并没有建议任何验证码替代方案。替代方案:对于一个,你可以添加(不可见)输入,而这些输入永远不应该包含文本机器人,通常会填充每个字段。如果这样做有效的话,对用户来说肯定会更容易。第二,您可能不太擅长python,但这似乎接近您问题的解决方案: