完美的图形验证码解决方案

https://github.com/huacnlee/rucaptcha

用法很简单,按照说明就可以了.

以下是简单的与devise相关的处理

  1. 配置好rucaptcha
  2. 修改routes中的devise_for users变为:
    devise_for :users, controllers: { registrations: 'users/registrations' }
    这样,注册功能的controller就变成了
    controllers/users/registrations_controller.rb
  3. 修改controllers/users/registrations_controller.rb
before_action: :verify_rucaptcha!
...
private
def verify_rucaptcha!
 if !verify_rucaptcha?
   redirect_to new_user_session_path, alert: 'rucaptcha invalid'
   false
 else
   true
 end
end
  1. 修改views/devise/registrations/new.html.erb
...
  <div class="form-group">
    <%= rucaptcha_input_tag(class: 'form-control', placeholder: 'Input Captcha') %>
    <%= rucaptcha_image_tag(alt: 'Captcha') %>
  </div>
...

这样就OK了。登录功能增加图形验证码也是类似的处理方式。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • twitter clone rails new fluttercd workspacecd fluttergit ...
    栋栋晓阅读 546评论 0 0
  • 对自己进入全栈工程师进行一个记录。 前期配置 rails new rails101git initgit add ...
    阿轲666阅读 569评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,168评论 19 139
  • 易效能164期墨尔本班90天的践行已经结束了,很多老同学又再次跟随179班开始了新的践行之路。我们这批164期的学...
    正能量吉米阅读 1,161评论 5 10
  • 每天早晨睁开眼睛,第一件事就是放眼望望窗外,看看雾霾老妖来了没有? 努力地瞪大双眼,生怕自己睡眼朦胧,错怪老天,翘...
    下吧毛毛雨阅读 285评论 0 2