]> git.openstreetmap.org Git - rails.git/blobdiff - config/initializers/secure_headers.rb
Enable Turbo Drive with morphing for Messages#{destroy,mark}
[rails.git] / config / initializers / secure_headers.rb
index 54702a39915818ebbd0bace6a7486766c0b445cc..60f155139f72f2c5310843fafeed24d707b1fe8f 100644 (file)
@@ -7,7 +7,7 @@ csp_policy = {
   :form_action => %w['self'],
   :frame_ancestors => %w['self'],
   :frame_src => %w['self'],
   :form_action => %w['self'],
   :frame_ancestors => %w['self'],
   :frame_src => %w['self'],
-  :img_src => %w['self' data: www.gravatar.com *.wp.com *.tile.openstreetmap.org *.tile.thunderforest.com *.openstreetmap.fr],
+  :img_src => %w['self' data: www.gravatar.com *.wp.com tile.openstreetmap.org *.tile.openstreetmap.org *.tile.thunderforest.com tile.tracestrack.com *.openstreetmap.fr],
   :manifest_src => %w['self'],
   :media_src => %w['none'],
   :object_src => %w['self'],
   :manifest_src => %w['self'],
   :media_src => %w['none'],
   :object_src => %w['self'],
@@ -18,18 +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.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)
 
 cookie_policy = {
 csp_policy[:report_uri] << Settings.csp_report_url if Settings.key?(:csp_report_url)
 
 cookie_policy = {
-  :secure => SecureHeaders::OPT_OUT,
-  :httponly => SecureHeaders::OPT_OUT
+  :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