]> git.openstreetmap.org Git - rails.git/blobdiff - config/initializers/secure_headers.rb
Merge remote-tracking branch 'upstream/pull/4230'
[rails.git] / config / initializers / secure_headers.rb
index c97762a37233f760c502053f287aa99c083bf679..e710019da30b70fcc7e8b98e870b63573ccfb3cd 100644 (file)
@@ -18,16 +18,22 @@ csp_policy = {
   :report_uri => []
 }
 
   :report_uri => []
 }
 
-csp_policy[:connect_src] << PIWIK["location"] if defined?(PIWIK)
-csp_policy[:img_src] << PIWIK["location"] if defined?(PIWIK)
-csp_policy[:script_src] << PIWIK["location"] if defined?(PIWIK)
+csp_policy[:connect_src] << Settings.matomo["location"] if defined?(Settings.matomo)
+csp_policy[:img_src] << Settings.matomo["location"] if defined?(Settings.matomo)
+csp_policy[:script_src] << Settings.matomo["location"] if defined?(Settings.matomo)
 
 
-csp_policy[:img_src] << Settings.storage_url if Settings.key?(:storage_url)
+csp_policy[:img_src] << Settings.avatar_storage_url if Settings.key?(:avatar_storage_url)
+csp_policy[:img_src] << Settings.trace_image_storage_url if Settings.key?(:trace_image_storage_url)
 
 csp_policy[:report_uri] << Settings.csp_report_url if Settings.key?(:csp_report_url)
 
 
 csp_policy[:report_uri] << Settings.csp_report_url if Settings.key?(:csp_report_url)
 
+cookie_policy = {
+  :httponly => { :only => %w[_osm_session _osm_totp_token] }
+}
+
 SecureHeaders::Configuration.default do |config|
   config.hsts = SecureHeaders::OPT_OUT
 SecureHeaders::Configuration.default do |config|
   config.hsts = SecureHeaders::OPT_OUT
+  config.referrer_policy = "strict-origin-when-cross-origin"
 
   if Settings.csp_enforce
     config.csp = csp_policy
 
   if Settings.csp_enforce
     config.csp = csp_policy
@@ -39,4 +45,6 @@ SecureHeaders::Configuration.default do |config|
     config.csp = SecureHeaders::OPT_OUT
     config.csp_report_only = SecureHeaders::OPT_OUT
   end
     config.csp = SecureHeaders::OPT_OUT
     config.csp_report_only = SecureHeaders::OPT_OUT
   end
+
+  config.cookies = cookie_policy
 end
 end