首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >允许Rails开发环境中的不安全脚本

允许Rails开发环境中的不安全脚本
EN

Stack Overflow用户
提问于 2021-01-19 20:52:35
回答 2查看 614关注 0票数 2

在开发环境中,我希望在Rails应用程序中允许script-src unsafe-inline。我正在尝试使用 gem来生成系统测试。

在内容安全策略初始化器上自定义内容安全策略。

它是不安全的,因为服务器是本地Rails服务器,但是我如何配置我的Rails应用程序来允许它呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-24 01:31:07

您应该在单独加载的.js文件中包含所有Javascript代码。然后,可以在初始化器(例如,如下所示的config/initializers/csp.rb )中向内容安全策略添加受信任的源:

代码语言:javascript
复制
my_custom_script_sources = ["https://kit.fontawesome.com", "http://localhost:3000"]
Rails.application.config.content_security_policy do |policy|
  policy.script_src(:self, *my_custom_script_sources)
end

当然,您可以检查Rails.env并相应地设置自定义脚本源,这样您就不会在生产中公开您的内部开发urls。

您也可以将:unsafe_inline添加到任何策略元素,但是您可能不应该。显式列出您的源代码比允许运行任何可以消除XSS保护的内联脚本安全得多。但是,如果您无法将第三方组件更改为不使用内联Javascript,您可能想要接受:unsafe_inline的风险。不幸的是,我不知道heavens_door,我不知道情况是否如此。

例如,您可以使用这个工具来根据最佳实践评估您的CSP。

票数 2
EN

Stack Overflow用户

发布于 2021-01-26 17:51:40

谢谢Gabor Lengyel的解决方案。总之,只需将这一行添加到ApplicationController中即可

代码语言:javascript
复制
content_security_policy false

确保它没有被承诺和推动生产!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65799368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档