默认Rails 5.2.1.1内容安全策略(CSP)“ style-src'unsafe-inline'”受到违反

时间:2018-11-29 12:02:20

标签: javascript css ruby-on-rails ruby content-security-policy

我想做什么

只需学习Rails,就可以为默认的rails new appname项目添加一些有趣的样式和脚本。紧跟MDB implementation guide here之后,表示在vendor/assets/(stylesheets or javascripts)下添加样式和脚本,并将文件包括在资产管道中。

问题是

例如,

Bootstrap被包含在标记中并带有自己的小<link>标签,但被CSP阻止,该标签说:

Refused to load the stylesheet 'http://0.0.0.0:3000/assets/bootstrap.self-084....css?body=1'
because it violates the following Content Security Policy directive: "style-src 'unsafe-inline'".

没有帮助的

我试图找到CSP的确切定义位置,但是像我这样的棕色鼻子在如此密集的支架中导航并非易事。 尝试摆弄 /vendor/bundle/ruby/2.3.0/gems/actionpack-5.2.1.1/lib/action_dispatch/http/content_security_policy.rb'vendor/bundle/ruby/2.3.0/gems/railties-5.2.1.1/lib/rails/application_controller.rb'->但没有成功。

试图覆盖我的app/asstes/controllers/application_controller.rb 类ApplicationController 中的content_security_policy,如下所示:

content_security_policy do |p|
  p.style_src "self"
  p.script_src "self"
end

但控制台中的错误消息保持不变。

我了解可用于禁用和测试CSP的chrome插件,但感觉像是在作弊。

问题

我如何调整CSP标头选项,以便Rails应用程序允许使用资产管道资产?

预先感谢

0 个答案:

没有答案