运行环境,Mac 、ubuntu
rails 4.2.1
大部分的网站的都会考虑自身的安全,验证码检测成为了必不可少的流程,相对于node,ruby 对验证码的实现要简单方便很多。
1.引入gem包
gem 'easy_captcha', github: 'phatworx/easy_captcha' gem 'rmagick'
我试过直接使用,gem 'easy_captcha' 但是版本不对,可以自己试试
2.安装包
bundle install
期间可以出问题, rmagick 的依赖包没有,解决办法
sudo apt-get install libmagick++-de
sudo apt-get install imagemagick
3. 安装配置
rails g easy_captcha:install
运行完这句话,可以看到app/controllers/application_controller.rb 和 config/routes.rb 的变化
application_controller里
after_filter :reset_last_captcha_code! //可以先不用理会,用到的时候再写
可以添加执行后,自动更新验证码的方法
routes.rb中自动添加后了,请求验证码对应的路径无需改动
4.view
= captcha_tag
在页面中需要的位置添加自动生成验证码图片
5.后台验证输入是否一致
captcha_valid? params[:captcha]
返回布尔值,ture or false
6.点击图片验证码刷新
$("img[alt='captcha']").bind('click',function(){ this.src = this.src + '?' })