]> git.openstreetmap.org Git - rails.git/blobdiff - config/initializers/secure_headers.rb
Merge remote-tracking branch 'upstream/pull/1850'
[rails.git] / config / initializers / secure_headers.rb
index 13db365099a9eeacd1fa0dc1aa4376196728a5e0..b0b45aa13125f355fd56ca74b31217f0d970af8f 100644 (file)
@@ -1,24 +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' 'unsafe-inline'),
-             :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]
+  }
+
+  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