Skip to content

Commit 121f05f

Browse files
committed
feat: setup rack-protection
Signed-off-by: Gil Desmarais <[email protected]>
1 parent 929ae67 commit 121f05f

File tree

4 files changed

+14
-7
lines changed

4 files changed

+14
-7
lines changed

.rubocop.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ AllCops:
1111
Metrics/BlockLength:
1212
Exclude:
1313
- Rakefile
14-
ExcludedMethods:
15-
- route
1614

1715
Naming/RescuedExceptionsVariableName:
1816
PreferredName: error

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ gem 'html2rss-configs', github: 'html2rss/html2rss-configs'
1414
gem 'erubi'
1515
gem 'parallel'
1616
gem 'rack-cache'
17+
gem 'rack-protection'
1718
gem 'rack-timeout'
1819
gem 'rack-unreloader'
1920
gem 'roda'

Gemfile.lock

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ GEM
1111
addressable (2.8.7)
1212
public_suffix (>= 2.0.2, < 7.0)
1313
ast (2.4.2)
14+
base64 (0.2.0)
1415
byebug (11.1.3)
1516
concurrent-ruby (1.3.4)
1617
crass (1.0.6)
@@ -73,6 +74,9 @@ GEM
7374
rack (3.1.7)
7475
rack-cache (1.17.0)
7576
rack (>= 0.4)
77+
rack-protection (4.0.0)
78+
base64 (>= 0.1.0)
79+
rack (>= 3.0.0, < 4)
7680
rack-timeout (0.7.0)
7781
rack-unreloader (2.1.0)
7882
rainbow (3.1.1)
@@ -158,6 +162,7 @@ DEPENDENCIES
158162
parallel
159163
puma
160164
rack-cache
165+
rack-protection
161166
rack-timeout
162167
rack-unreloader
163168
rake

config.ru

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,24 @@
33
require 'rubygems'
44
require 'bundler/setup'
55
require 'rack-timeout'
6+
require 'rack/protection'
7+
require 'rack/protection/path_traversal'
68

79
use Rack::Timeout
8-
9-
dev = ENV.fetch('RACK_ENV', nil) == 'development'
10+
use Rack::Protection
11+
use Rack::Protection::PathTraversal
1012

1113
requires = Dir['app/**/*.rb']
1214

13-
if dev
15+
if ENV.fetch('RACK_ENV', nil) == 'development'
1416
require 'logger'
17+
require 'rack/unreloader'
18+
1519
logger = Logger.new($stdout)
1620

17-
require 'rack/unreloader'
1821
Unreloader = Rack::Unreloader.new(subclasses: %w[Roda Html2rss],
1922
logger:,
20-
reload: dev) do
23+
reload: true) do
2124
Html2rss::Web::App
2225
end
2326
Unreloader.require('app.rb') { 'Html2rss::Web::App' }

0 commit comments

Comments
 (0)