X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/73214da35de30b3466cf8d0ab751955ec9292ec4..1612ea75c541016ff8c4312935e8bfc4462608c6:/config/initializers/secure_headers.rb diff --git a/config/initializers/secure_headers.rb b/config/initializers/secure_headers.rb index daddd762d..97952f7cb 100644 --- a/config/initializers/secure_headers.rb +++ b/config/initializers/secure_headers.rb @@ -7,7 +7,7 @@ csp_policy = { :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 tileserver.memomaps.de *.openstreetmap.fr], :manifest_src => %w['self'], :media_src => %w['none'], :object_src => %w['self'], @@ -21,20 +21,24 @@ csp_policy = { 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[:report_uri] << CSP_REPORT_URL if defined?(CSP_REPORT_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) cookie_policy = { - :secure => SecureHeaders::OPT_OUT, - :httponly => SecureHeaders::OPT_OUT + :httponly => { :only => ["_osm_session"] } } SecureHeaders::Configuration.default do |config| config.hsts = SecureHeaders::OPT_OUT + config.referrer_policy = "strict-origin-when-cross-origin" - if CSP_ENFORCE + if Settings.csp_enforce config.csp = csp_policy config.csp_report_only = SecureHeaders::OPT_OUT - elsif defined?(CSP_REPORT_URL) + elsif Settings.key?(:csp_report_url) config.csp = SecureHeaders::OPT_OUT config.csp_report_only = csp_policy else