# limiter **Repository Path**: mirrors_winneryong/limiter ## Basic Information - **Project Name**: limiter - **Description**: limiter - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-26 - **Last Updated**: 2025-11-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Limiter Rack middleware for rate-limiting incoming HTTP requests with black_list and white_list support. ## Installation Add this line to your application's Gemfile: gem 'limiter', :git => "git://github.com/csdn-dev/limiter.git" And then execute: $ bundle ## Usage ```ruby # config/initializers/limiter.rb # -*- encoding : utf-8 -*- require File.expand_path("../redis", __FILE__) Rails.configuration.app_middleware.insert_before(Rack::MethodOverride, Limiter::RateLimiter, :max_get_num => 1000, :get_ttl => 20.minutes, :max_post_num => 20, :post_ttl => 5.seconds, :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 => "我不是机器人", :visit_counter => Limiter::VisitCounter.new($redis), :limit_callback => lambda { |ip| your_callback(ip) } ) ``` ## Contributing 1. Fork it 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Add some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create new Pull Request