提供给机架::会议:: Cookie的警告没有秘密的选择吗?提供给机架::会议:: Cookie的警

2019-05-13 17:41发布

我的Fedora 17下运行的Rails 3.2.3,Ruby 1.9的我得到这样的警告,当我运行rails s ,以及如何解决?

安全警告:提供给机架::会议::曲奇没有秘密的选项。 这会带来安全威胁。 我们强烈建议您提供一个保密,以防止该漏洞可能从制作的饼干。 这不会在机架的未来版本的支持,未来的版本甚至会取消现有用户的cookie。

Answer 1:

这是Rails的bug,作为子类违反了超API的合同。

该警告可以通过Rails的用户可以放心地忽略。

( https://github.com/rack/rack/issues/485#issuecomment-11956708 ,强调)

在铁轨上的bug讨论确认: https://github.com/rails/rails/issues/7372#issuecomment-11981397



Answer 2:

阅读基于tehgeekmeisters答案的讨论,这个警告弹出像Rails是比预期不同的方式使用机架饼干。 应该差不多,只是忽略此警告现在为止没有对如何处理这一问题最终协议,并在地方修复。



Answer 3:

这个问题已经在刚刚发布的Rails 3.2.11被合作周围。

登录: https://github.com/rails/rails/commits/v3.2.11

提交: https://github.com/rails/rails/commit/95fe9ef945a35f56fa1c3ef356aec4a3b868937c



Answer 4:

导轨3.2.9 -红宝石1.9.3p125(2012-02-16的修订34643)[i686的Linux的]

大家好,下面为我工作,它可能为你工作。


/usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.2.9/lib/action_dispatch/middleware/session/abstract_store.rb
module Compatibility
          def initialize(app, options = {})
            options[:key]     ||= '_session_id'
            #fixed warning - SECURITY WARNING: No secret option provided to Rack::Session::Cookie.
            options[:secret] ||= Rails.application.config.secret_token
            super
          end
    end


Answer 5:

降级到1.4.1机架应足以解决这个现在。 有开放式的问题,对于这一点,我刚刚交了一个pull请求 ,似乎我对其进行修复。 在任何情况下,看问题,你应该能够升级到1.4.2架后,这是固定的。

显然,有一个关于如何解决这一问题上的另一个正在进行的讨论问题 。 你必须选择降级至1.4.1,忽略它,或弄清楚自己修复,直到这是处理(和回迁,如果连发生)。



Answer 6:

的问题已在Github上被打开https://github.com/rails/rails/issues/8789 。 看来,涉及的Rails 3.2.10与机架1.4.2中的错误导致此。 海事组织,它可以安全地忽略,直到问题得到解决。

编辑 :这个问题在Rails的3.2.11得到解决。



Answer 7:

轨更新3.2.13,可以解决这个问题。



Answer 8:

Rails的用户可以忽略此消息,因为它是一个Rails的错误。



文章来源: No secret option provided to Rack::Session::Cookie warning?