Rack middleware for rate-limiting incoming HTTP requests with black_list and white_list support.
Add this line to your application's Gemfile:
gem 'limiter', :git => "git://github.com/csdn-dev/limiter.git"
And then execute:
$ bundle
# config/initializers/limiter.rb
require File.expand_path("../redis", __FILE__)
Rails.configuration.app_middleware.insert_before(Rack::MethodOverride,
Limiter::RateLimiter,
:black_list => Limiter::BlackList.new($redis),
:white_list => Limiter::WhiteList.new($redis),
:allow_path => Rails.env.development? ? /^\/(assets|human_validations|simple_captcha)/ :
/^\/(human_validations|simple_captcha)/,
:message => "<a href='/human_validations/new'>我不是机器人</a>",
:visit_counter => Limiter::VisitCounter.new($redis)
)
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request