ruby-on-rails 如何禁用Rails项目的默认内容安全策略?

n3schb8v  于 2023-04-13  发布在  Ruby
关注(0)|答案(1)|浏览(99)

我在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

llmtgqce

llmtgqce1#

根据gem的文档,如果你没有设置任何设置或者使用SecureHeaders::OPT_OUT来忽略,它会默认选择。

config.csp = SecureHeaders::OPT_OUT

相关问题