首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >简单验证码的问题

简单验证码的问题
EN

Stack Overflow用户
提问于 2010-09-10 18:38:32
回答 2查看 942关注 0票数 0

我有一个奇怪的问题,.I在我的rails应用程序的表单中使用简单的验证码。如果我在网页中使用一个验证码,我不会有任何问题。但我有一个场景,在一个页面中使用三(3)个表单,其中所有三个表单都将具有验证码。这样,当我刷新页面时,三个表单的验证码数据是相等的。

当我们到达数据库时,一旦页面被加载,一个特定id的captcha值将被创建,如果我们刷新页面,记录将被更新,而不是创建另一个记录,如果我在两个选项卡中打开网页,如果我在第一个页面中提交表单,则不使用captcha。它抛出一个异常,写着“Invalid Captcha”

谁可以请让我知道如何处理多个验证码在一个页面。我使用的是simple_captcha插件。

提前感谢

EN

回答 2

Stack Overflow用户

发布于 2010-09-10 23:00:30

我看不出一个页面使用多个验证码有什么意义。(我假设您的两个表单将同时提交。)因为验证码的全部目的是避免自动提交表单。

第二点是,我不明白为什么要在一个页面中使用三个表单。您可以考虑使用一个表单,并相应地在控制器端过滤和标识参数。

票数 1
EN

Stack Overflow用户

发布于 2011-03-30 19:14:31

你能解释一下为什么你需要新的记录而不是更新(刷新页面时)吗?

顺便说一下,我在simple_captcha处理的一个页面上的多个表单时也遇到了同样的问题。我的问题是重复使用simple_captcha的方法show_simple_captcha。在这种情况下,它会导致重复的数据库插入。我对插件做了一些小的改动来解决这个问题:

代码语言:javascript
运行
复制
# Line 73 in lib/simple_captcha/view_helpers.rb (in show_simple_captcha method)

options[:field_value] = set_simple_captcha_data(simple_captcha_key, options[:code_type])

更改为:

代码语言:javascript
运行
复制
options[:field_value] = options[:multi] ? simple_captcha_key : set_simple_captcha_data(simple_captcha_key, options[:code_type])

现在我使用show_simple_captcha(:multi => true)生成验证码,而不需要访问数据库:

代码语言:javascript
运行
复制
<!-- For first captcha on page -->
<%= show_simple_captcha(:object => :foo) %>

<!-- For next captchas on same page -->
<%= show_simple_captcha(:object => :bar, :multi => true) %>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3683920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档