我正在使用gemsecure-headers
来处理我的Rails项目中的CSP,但默认情况下我得到了这个头:Content-Security-Policy: default-src 'self' https:; font-src 'self' https: data:; img-src 'self' https: data:; object-src 'none'; script-src https:; style-src 'self' https: 'unsafe-inline'
与CSP- report - olny头一起,我想禁用它。
我已经尝试在我的config/application.rb
中写这样的东西,但它不起作用。
config.action_dispatch.default_headers['Content-Security-Policy'] = ''
config.action_dispatch.default_headers.delete('Content-Security-Policy')
我的config/initializers/secure_headers.rb
文件:
SecureHeaders::Configuration.default do |config|
config.csp_report_only = {
default_src: %w['self' fonts.gstatic.com],
img_src: %w['self'],
font_src: %w['self' fonts.gstatic.com],
script_src: %w['self'],
connect_src: %w['self'],
report_uri: %w[/my-route]
}
end
有人经历过吗?
Ruby: 2.6.3
Rails: 5.1.2
我想禁用默认的CSP标头,只使用Content-Security-Policy-Report-Only
根据gem的文档,如果你没有设置任何设置或使用SecureHeaders::OPT_OUT
来忽略,它会默认拾取。所以解决办法很简单。
config.csp = SecureHeaders::OPT_OUT