: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],
- :manifest_src => %w['none'],
+ :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'],
:plugin_types => %w[],
: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