ruby-on-rails – Ruby on Rails 3.2.13 – Brakeman – 会话密码不应包含在版本控制中

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Ruby on Rails 3.2.13 – Brakeman – 会话密码不应包含在版本控制中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经安装了最新版本的Brakeman gem来帮助我使用Rails应用程序的安全性.

我有两个服务器上有几个Rails应用程序,一个用于开发,另一个用于生产.当我运行Brakeman关于我的应用程序的报告时,大多数人将配置/初始化程序/ secret_token.rb标记为具有以下高安全性漏洞.

Session secret should not be included in version control near line 7

这是我第一次看到这个错误,因为我在几个月前跑了一个旧版本的Brakeman.

从目前的研究到目前为止,当rails新的appname被执行时,Rails会自动生成秘密令牌.到目前为止,我还没有意识到这一点.显然,Rails不保护这个文件,如果我决定将我的任何应用程序移动到Github,那么Github访问应用程序的任何人都可以使用这些信息.在这个时候我没有上传到GitHub,但是我想知道如何从config / initializers / secret_token.rb移动secure_token,以关闭我的应用程序中的安全漏洞.

我阅读的一篇博客文章建议我将秘密标记注入到ENV变量中.将语句从config / initializers / secret_token.rb移动到config / environment.rb解决问题?如果是这样,我将把这个任务添加到我的Rails开发任务列表中.

任何帮助将不胜感激.

解决方法

正如你所说,当我将秘密信息放入ENV变量时,Brakeman的这个消息对我来说是沉默的.就个人而言,我喜欢使用 Figaro宝石,但我认为 dotenv也是受欢迎的.

您可能会感兴趣的其他一些资源有:

代码气候博客Rails Insecure Defaults代码气候博客
> StackOverflow线程:What should be removed from public source control in Ruby on Rails?

猜你在找的Ruby相关文章