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

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
...
  
<%= rucaptcha_input_tag(class: 'form-control', placeholder: 'Input Captcha') %> <%= rucaptcha_image_tag(alt: 'Captcha') %>
...

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

你可能感兴趣的:(完美的图形验证码解决方案)