我在Rails项目中使用gem secure-headers
来处理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 Header并列,我希望禁用它。
我已经尝试在我的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
1条答案
按热度按时间llmtgqce1#
根据gem的文档,如果你没有设置任何设置或者使用
SecureHeaders::OPT_OUT
来忽略,它会默认选择。