X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/c5ef6404f5782c8305f9d1d25d2c99a545cdd9a1..d98741690124a266da0d1a0cfe348f7ec78e5e9f:/config/initializers/secure_headers.rb diff --git a/config/initializers/secure_headers.rb b/config/initializers/secure_headers.rb index cd428d7dd..b0b45aa13 100644 --- a/config/initializers/secure_headers.rb +++ b/config/initializers/secure_headers.rb @@ -1,26 +1,34 @@ -policy = if defined?(CSP_REPORT_URL) - { - :default_src => %w('self'), - :child_src => %w('self'), - :connect_src => %w('self'), - :font_src => %w('none'), - :form_action => %w('self'), - :frame_ancestors => %w('self'), - :img_src => %w('self' data: www.gravatar.com *.wp.com *.tile.openstreetmap.org *.tile.thunderforest.com *.openstreetmap.fr), - :media_src => %w('none'), - :object_src => %w('self'), - :plugin_types => %w('none'), - :script_src => %w('self'), - :style_src => %w('self' 'unsafe-inline'), - :report_uri => [CSP_REPORT_URL] - } - else - SecureHeaders::OPT_OUT - end +if defined?(CSP_REPORT_URL) + csp_policy = { + :default_src => %w['self'], + :child_src => %w['self'], + :connect_src => %w['self'], + :font_src => %w['none'], + :form_action => %w['self'], + :frame_ancestors => %w['self'], + :img_src => %w['self' data: www.gravatar.com *.wp.com *.tile.openstreetmap.org *.tile.thunderforest.com *.openstreetmap.fr], + :media_src => %w['none'], + :object_src => %w['self'], + :plugin_types => %w[], + :script_src => %w['self'], + :style_src => %w['self' 'unsafe-inline'], + :report_uri => [CSP_REPORT_URL] + } -policy[:script_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 + csp_policy = SecureHeaders::OPT_OUT +end + +cookie_policy = { + :secure => SecureHeaders::OPT_OUT, + :httponly => SecureHeaders::OPT_OUT +} SecureHeaders::Configuration.default do |config| + 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