aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authorMarc Schütz <schuetzm@gmx.net>2019-01-20 12:55:31 +0100
committerMarc Schütz <schuetzm@gmx.net>2019-01-23 13:30:35 +0100
commit4dfb1a39611d97f83dd7431261128def7dbca5fe (patch)
tree3bdbed5f264b9b595f738fc2b34a6aa82bac11a3 /railties
parent9608b180bfb36cb459e4aa8d8116a065046e1915 (diff)
downloadrails-4dfb1a39611d97f83dd7431261128def7dbca5fe.tar.gz
rails-4dfb1a39611d97f83dd7431261128def7dbca5fe.tar.bz2
rails-4dfb1a39611d97f83dd7431261128def7dbca5fe.zip
Subdomains of localhost are safe against DNS rebinding
Diffstat (limited to 'railties')
-rw-r--r--railties/lib/rails/application/configuration.rb2
-rw-r--r--railties/test/application/configuration_test.rb5
2 files changed, 6 insertions, 1 deletions
diff --git a/railties/lib/rails/application/configuration.rb b/railties/lib/rails/application/configuration.rb
index d5a66b6ec1..b7838f7e32 100644
--- a/railties/lib/rails/application/configuration.rb
+++ b/railties/lib/rails/application/configuration.rb
@@ -30,7 +30,7 @@ module Rails
@filter_parameters = []
@filter_redirect = []
@helpers_paths = []
- @hosts = Array(([IPAddr.new("0.0.0.0/0"), IPAddr.new("::/0"), "localhost"] if Rails.env.development?))
+ @hosts = Array(([IPAddr.new("0.0.0.0/0"), IPAddr.new("::/0"), ".localhost"] if Rails.env.development?))
@public_file_server = ActiveSupport::OrderedOptions.new
@public_file_server.enabled = true
@public_file_server.index_name = "index"
diff --git a/railties/test/application/configuration_test.rb b/railties/test/application/configuration_test.rb
index 3e979ea20d..9da3956dda 100644
--- a/railties/test/application/configuration_test.rb
+++ b/railties/test/application/configuration_test.rb
@@ -2289,6 +2289,11 @@ module ApplicationTests
MESSAGE
end
+ test "the host whitelist includes .localhost in development" do
+ app "development"
+ assert_includes Rails.application.config.hosts, ".localhost"
+ end
+
private
def force_lazy_load_hooks
yield # Tasty clarifying sugar, homie! We only need to reference a constant to load it.