X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/5b33f3f8e31c62bc3e5db1d5b120533c3afdde68..1cea6b363aab3f67caa3cd5ef0b0eea9bcea5c2b:/config/initializers/secure_headers.rb diff --git a/config/initializers/secure_headers.rb b/config/initializers/secure_headers.rb index 59fe4225d..cd6979bee 100644 --- a/config/initializers/secure_headers.rb +++ b/config/initializers/secure_headers.rb @@ -1,27 +1,39 @@ if defined?(CSP_REPORT_URL) - policy = { + csp_policy = { + :preserve_schemes => true, :default_src => %w['self'], :child_src => %w['self'], :connect_src => %w['self'], :font_src => %w['none'], :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'], :media_src => %w['none'], :object_src => %w['self'], - :plugin_types => %w['none'], + :plugin_types => %w[], :script_src => %w['self'], - :style_src => %w['self' 'unsafe-inline'], + :style_src => %w['self'], + :worker_src => %w['none'], :report_uri => [CSP_REPORT_URL] } - policy[:script_src] << PIWIK["location"] if defined?(PIWIK) + 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) else - policy = SecureHeaders::OPT_OUT + csp_policy = SecureHeaders::OPT_OUT end +cookie_policy = { + :secure => SecureHeaders::OPT_OUT, + :httponly => SecureHeaders::OPT_OUT +} + SecureHeaders::Configuration.default do |config| - config.hsts = "max-age=0" + config.hsts = SecureHeaders::OPT_OUT config.csp = SecureHeaders::OPT_OUT - config.csp_report_only = policy + config.csp_report_only = csp_policy + config.cookies = cookie_policy end