mirror of
https://github.com/projekteuler/projekteuler.git
synced 2025-12-10 08:46:41 +01:00
28 lines
1.2 KiB
Ruby
28 lines
1.2 KiB
Ruby
# Be sure to restart your server when you modify this file.
|
|
|
|
# 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 :none
|
|
policy.font_src :self, "https://cdnjs.cloudflare.com"
|
|
policy.img_src :self, "https://cdnjs.cloudflare.com", "https://projecteuler.net"
|
|
policy.object_src :none
|
|
policy.script_src :self, "https://cdnjs.cloudflare.com"
|
|
policy.style_src :self, :unsafe_inline
|
|
policy.connect_src :self
|
|
# 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
|