diff --git a/config/initializers/content_security_policy.rb b/config/initializers/content_security_policy.rb index 3621f97f8..bc596890b 100644 --- a/config/initializers/content_security_policy.rb +++ b/config/initializers/content_security_policy.rb @@ -1,26 +1,12 @@ -# Be sure to restart your server when you modify this file. +GovukContentSecurityPolicy.configure do |policy| + # Ensures the ability to use inline JavaScript without protections. This is + # required for compatibility with govuk_admin_template which both uses script + # tags without nonces and uses jQuery 1.x which requires unsafe-inline in + # some browsers (Firefox is one) + script_policy_with_unsafe_inline = (policy.script_src + ["'unsafe-inline'"]).uniq + policy.script_src(*script_policy_with_unsafe_inline) +end -# Define an application-wide content security policy -# For further information see the following documentation -# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy - -# Rails.application.configure do -# config.content_security_policy do |policy| -# policy.default_src :self, :https -# policy.font_src :self, :https, :data -# policy.img_src :self, :https, :data -# policy.object_src :none -# policy.script_src :self, :https -# policy.style_src :self, :https -# # Specify URI for violation reports -# # policy.report_uri "/csp-violation-report-endpoint" -# end -# -# # Generate session nonces for permitted importmap and inline scripts -# config.content_security_policy_nonce_generator = ->(request) { request.session.id.to_s } -# config.content_security_policy_nonce_directives = %w(script-src) -# -# # Report CSP violations to a specified URI. See: -# # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy-Report-Only -# # config.content_security_policy_report_only = true -# end +# Disable any configured nonce generators so that unsafe-inline directives +# can be used +Rails.application.config.content_security_policy_nonce_generator = nil diff --git a/config/initializers/csp.rb b/config/initializers/csp.rb deleted file mode 100644 index aa49407c8..000000000 --- a/config/initializers/csp.rb +++ /dev/null @@ -1 +0,0 @@ -GovukContentSecurityPolicy.configure