From 5c5c74f3050886c495f0263aadc6a7fa59ec8293 Mon Sep 17 00:00:00 2001 From: Ramilya Nigmatullina Date: Mon, 18 Apr 2022 13:20:42 +0300 Subject: [PATCH 1/2] add rack-attack gem --- Gemfile | 1 + Gemfile.lock | 7 +++++-- config/initializers/rack_attack.rb | 6 ++++++ spec/acceptance/authentication_user_spec.rb | 8 ++++---- 4 files changed, 16 insertions(+), 6 deletions(-) create mode 100644 config/initializers/rack_attack.rb diff --git a/Gemfile b/Gemfile index d8a30db..33691a1 100644 --- a/Gemfile +++ b/Gemfile @@ -23,6 +23,7 @@ gem "jwt" gem "newrelic_rpm" gem "open-uri" gem "puma" +gem "rack-attack" gem "rack-cors" gem "shrine" gem "sidekiq" diff --git a/Gemfile.lock b/Gemfile.lock index 837572a..f6f4e58 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -98,7 +98,7 @@ GEM database_cleaner-active_record (1.8.0) activerecord database_cleaner (~> 1.8.0) - date (3.2.1) + date (3.2.2) declarative (0.0.20) diff-lcs (1.3) docile (1.3.2) @@ -133,7 +133,7 @@ GEM faraday-net_http_persistent (1.0.3) net-http-persistent (>= 3.1) ffaker (2.14.0) - ffi (1.12.2) + ffi (1.15.5) gems (1.2.0) globalid (1.0.0) activesupport (>= 5.0) @@ -229,6 +229,8 @@ GEM nio4r (~> 2.0) racc (1.6.0) rack (2.2.3) + rack-attack (6.6.0) + rack (>= 1.0, < 3) rack-cors (1.1.1) rack (>= 2.0.0) rack-test (1.1.0) @@ -388,6 +390,7 @@ DEPENDENCIES open-uri pg puma + rack-attack rack-cors rails (~> 6.0.4.6) rspec-rails diff --git a/config/initializers/rack_attack.rb b/config/initializers/rack_attack.rb new file mode 100644 index 0000000..a12ca93 --- /dev/null +++ b/config/initializers/rack_attack.rb @@ -0,0 +1,6 @@ +class Rack::Attack + + throttle("req/ip", limit: 300, period: 5.minutes) do |req| + req.ip + end +end diff --git a/spec/acceptance/authentication_user_spec.rb b/spec/acceptance/authentication_user_spec.rb index 679793f..b99273a 100644 --- a/spec/acceptance/authentication_user_spec.rb +++ b/spec/acceptance/authentication_user_spec.rb @@ -5,11 +5,11 @@ let!(:user) { create :user, id: 111_111 } let(:query) do <<-GRAPHQL - query { - me { - id + query { + me { + id + } } - } GRAPHQL end From 7603fc42c92e0966d464707583027858e2bb603d Mon Sep 17 00:00:00 2001 From: Ramilya Nigmatullina Date: Wed, 20 Apr 2022 10:45:24 +0300 Subject: [PATCH 2/2] Fix quality --- config/initializers/rack_attack.rb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/config/initializers/rack_attack.rb b/config/initializers/rack_attack.rb index a12ca93..a713b24 100644 --- a/config/initializers/rack_attack.rb +++ b/config/initializers/rack_attack.rb @@ -1,6 +1,5 @@ -class Rack::Attack - - throttle("req/ip", limit: 300, period: 5.minutes) do |req| - req.ip +module Rack + class Attack + throttle("req/ip", limit: 300, period: 5.minutes, &:ip) end end