Ruby on rails 版本控制中不应包括RubyonRails3.2.13-Brakeman-SessionSecret
我已经安装了Brakeman gem的最新版本,以帮助我提高Rails应用程序的安全性 我在两台服务器上有几个Rails应用程序,一台用于开发,另一台用于生产。当我在我的应用程序上运行Brakeman报告时,大多数应用程序都标记了config/initializers/secret_token.rb,并带有以下高安全漏洞Ruby on rails 版本控制中不应包括RubyonRails3.2.13-Brakeman-SessionSecret,ruby-on-rails,security,brakeman,Ruby On Rails,Security,Brakeman,我已经安装了Brakeman gem的最新版本,以帮助我提高Rails应用程序的安全性 我在两台服务器上有几个Rails应用程序,一台用于开发,另一台用于生产。当我在我的应用程序上运行Brakeman报告时,大多数应用程序都标记了config/initializers/secret_token.rb,并带有以下高安全漏洞 Session secret should not be included in version control near line 7 这是我在几个月前运行旧版本的Brak
Session secret should not be included in version control near line 7
这是我在几个月前运行旧版本的Brakeman之后第一次看到这个错误
根据我到目前为止的研究,Rails在执行Rails new appname时自动生成秘密令牌。直到现在我才意识到这一点。显然,Rails并没有保护这个文件,如果我决定将我的任何应用程序移动到Github,那么在Github访问应用程序的任何人都可以获得这些信息。目前我没有上传到GitHub,但我想了解如何从config/initializers/secret_token.rb中移动secure_令牌,以关闭应用程序中的安全漏洞
我读过的一篇博文建议我将秘密令牌注入一个ENV变量。将语句从config/initializers/secret_token.rb移动到config/environment.rb会解决问题吗?如果是这样,我将把这个任务添加到Rails开发中的任务列表中
任何帮助都将不胜感激。我不确定将会话机密移动到其他文件会有什么不同。本质上,秘密令牌应该像密码一样对待
探索了在部署时提供会话密钥的几个不同选项。当我将机密信息放入
ENV
变量中时,Brakeman中的特定消息对我来说是无声的,如您所述。就我个人而言,我喜欢用宝石来做这个,但我认为它也很受欢迎
您可能对此感兴趣的其他资源包括:
- 代码气候博客条目:关于代码气候的博客条目
- 堆栈溢出线程: