ruby-on-rails – 当开源实时Rails应用程序时,将会话密钥保密在源代码管理中是否危险?

我有一个Rails应用程序已经运行了一段时间,我打算在不久的将来开源它.我想知道在应用程序运行时将会话密钥库保密在源代码管理中是多么危险.

如果危险,人们通常如何处理这个问题?我想最简单的方法就是将字符串移动到SCM忽略的文本文件中,稍后再读取.

为了清楚起见,我在说这个:

# Your secret key for verifying cookie session data integrity.
# If you change this key,all old sessions will become invalid!
# Make sure the secret is at least 30 characters and all random,# no regular words or you'll be exposed to dictionary attacks.
ActionController::Base.session = {
  :key         => '_application_session',:secret      => '(long,unique string)'
}

虽然我们正在研究这个主题,但在开源实时应用程序时,是否应该保护认Rails应用程序中的其他内容

解决方法

翻转问题.您是否会重新使用刚刚下载的其他人项目的密钥? Probaby没有,你的代码的其他智能用户也不会.然后,恶意用户将有一个密钥用作主站点中的攻击,以及任何懒惰而不能更改密钥的用户.

您可能拥有的其他不应共享的配置文件包括database.yml,s3.yml,amazon_s3.yml等.如果您不将其邮寄给陌生人,请在释放代码时将其保留在scm中致全世界.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...