Вопрос по ruby-on-rails – Для Rack :: Session :: Cookie не предоставлен секретный параметр?

109

Я использую Rails 3.2.3, Ruby 1.9 под Fedora 17. Я получаю это предупреждение при запускеrails sи как мне починить?

SECURITY WARNING: No secret option provided to Rack::Session::Cookie. This poses a security threat. It is strongly recommended that you provide a secret to prevent exploits that may be possible from crafted cookies. This will not be supported in future versions of Rack, and future versions will even invalidate your existing user cookies.

На самом деле это предупреждение было добавлено в Rack 1.4.2, который был выпущен на rubygems.org только вчера (6 января 2013 года), но фактическое принятие было сделано 18 марта 2012 года. AlexD
Установлено ли значение в config / initializers / secret_token.rb? Kashyap
Я получил такое же предупреждение после обновления Rails с 3.2.9 до 3.2.10 AlexD
Kashyap - да, значение установлено. bigdaveyl
Да, только сегодня я тоже получил такое предупреждение Paritosh Piplewar

Ваш Ответ

6   ответов
84

as the subclass is violating the superclass API contract.

The warning can be safely ignored by Rails users.

(https://github.com/rack/rack/issues/485#issuecomment-11956708, акцент добавлен)

Подтверждение об ошибке в рельсах:https://github.com/rails/rails/issues/7372#issuecomment-11981397

Error: User Rate Limit Exceeded
1

так как это ошибка Rails.

16

rails 3.2.9 - ruby 1.9.3p125 (2012-02-16 revision 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
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededactuallyError: User Rate Limit Exceeded
5

https://github.com/rails/rails/issues/8789, Похоже, что это связано с ошибкой, связанной с Rails 3.2.10 с Rack 1.4.2. ИМО, это можно безопасно игнорировать, пока проблема не будет решена.

EDIT: Эта проблема была решена в Rails 3.2.11.

19

основанное на ответе tehgeekmeisters, это предупреждение появляется, поскольку Rails использует файлы cookie Rack не так, как предполагалось. Было бы хорошо просто проигнорировать это предупреждение, пока не будет достигнуто окончательное соглашение о том, как решить эту проблему и устранить ее.

17
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded

Похожие вопросы