【问题标题】:rails email preview / Policy directive: "style-src 'unsafe-inline'"rails 电子邮件预览/策略指令:“style-src 'unsafe-inline'”
【发布时间】:2018-06-04 13:20:06
【问题描述】:

使用内置于电子邮件预览中的 Rails 时获得以下信息:

    Refused to load the stylesheet
   'http://app.lvh.me:3000/packs/...' because it violates
    the following Content Security
    Policy directive: "style-src 'unsafe-inline'".

最后在标题中添加以下内容:

meta http-equiv="Content-Security-Policy"
     content="default-src *; style-src 'self' http://* 'unsafe-inline'; script-src 'self' http://* 'unsafe-inline' 'unsafe-eval';"

但还是有问题

有人遇到并解决了这个问题吗?

【问题讨论】:

  • 你能显示你的邮件中的代码吗?
  • 原来我们不得不为此使用额外的 gem,如此处所述 hackernotes.io/…

标签: ruby-on-rails actionmailer preview


【解决方案1】:

显然,可以通过解释为什么会发生这种情况来增强这个答案, 但到目前为止,解决方法似乎是添加以下 gem:

gem 'premailer-rails'

As explained here.

【讨论】:

  • 从 Rails 5.2 开始,不幸的是,即使使用这个 gem,我也会遇到这个问题。
  • 查看上面评论中提供的链接(关于hackernotes),它确实有效
  • 由于这个错误,它对我不起作用:github.com/rails/rails/pull/33483
  • 阅读您的问题;由于您使用的特定中间件而崩溃?还是默认失败?我们在 5.2
  • 我认为您的回答适用于操作员的问题。我的问题类似,因为 script_source 导致 CSP 阻止了中间件 javascript。如果您没有使用 premailer gem,您可以改为使用 monkeypatch Rails 来修复我引用的 PR 中提到的错误。
猜你喜欢
  • 2020-09-19
  • 1970-01-01
  • 2020-10-12
  • 2016-04-23
  • 2021-02-14
  • 1970-01-01
  • 1970-01-01
  • 2016-05-04
  • 1970-01-01
相关资源
最近更新 更多