X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/89a4a9d59cb4695d143b4edcf9d0d5e8eb9ea3ee..04b839c3017e90217ba73d89f1b98cfb7dfdef1c:/config/initializers/secure_headers.rb?ds=sidebyside diff --git a/config/initializers/secure_headers.rb b/config/initializers/secure_headers.rb index daddd762d..778b5b827 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 tile.tracestrack.com *.openstreetmap.fr], :manifest_src => %w['self'], :media_src => %w['none'], :object_src => %w['self'], @@ -18,23 +18,27 @@ csp_policy = { :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[:report_uri] << CSP_REPORT_URL if defined?(CSP_REPORT_URL) +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 = { - :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 + 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