Aucune option secrète fournie à Rack :: Session :: Cookie warning?

J’utilise Rails 3.2.3, Ruby 1.9 sous Fedora 17. Je reçois cet avertissement lorsque je lance les rails s et comment puis-je les réparer?

AVERTISSEMENT DE SÉCURITÉ: Aucune option secrète fournie à Rack :: Session :: Cookie. Cela constitue une menace pour la sécurité. Il est fortement recommandé de fournir un secret pour empêcher les exploits possibles à partir de cookies fabriqués. Cela ne sera pas pris en charge dans les futures versions de Rack, et les futures versions invalideront même vos cookies utilisateur existants.

Ceci est un bogue Rails, car la sous-classe viole le contrat de l’API superclass.

L’avertissement peut être ignoré en toute sécurité par les utilisateurs de Rails.

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

Confirmation sur la discussion sur les bogues sur les rails: https://github.com/rails/rails/issues/7372#issuecomment-11981397

En lisant la discussion basée sur tehgeekmeisters, cet avertissement apparaît car Rails utilise les cookies Rack d’une manière différente de celle prévue. Il devrait être correct d’ignorer cet avertissement pour le moment jusqu’à ce qu’il y ait un accord final sur la façon de gérer ce problème et un correctif en place.

rails 3.2.9 – ruby ​​1.9.3p125 (2012-02-16 révision 34643) [i686-linux]

Bonjour à tous, ce qui suit a fonctionné pour moi, cela peut fonctionner pour vous.

  /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 

La rétrogradation au rack 1.4.1 devrait suffire à résoudre ce problème pour le moment. Il y a un problème pour cela et je viens de soumettre une demande de tirage qui semble la résoudre pour moi. Dans tous les cas, surveillez le problème et vous devriez pouvoir effectuer la mise à niveau vers le rack 1.4.2 une fois celui-ci résolu.

Apparemment, il y a une discussion en cours sur la façon de résoudre ce problème sur un autre problème . Vous devrez soit rétrograder à 1.4.1, l’ignorer, soit trouver votre propre solution jusqu’à ce que cela soit résolu (et rétrogradé, si cela se produit).

Un problème a été ouvert dans Github https://github.com/rails/rails/issues/8789 . Il semble qu’un bug impliquant Rails 3.2.10 avec Rack 1.4.2 en soit la cause. IMO, il peut être ignoré en toute sécurité jusqu’à ce que le problème soit résolu.

EDIT : Ce problème a été résolu dans Rails 3.2.11.

rails met à jour à 3.2.13, peut résoudre cette question.

Les utilisateurs de Rails peuvent ignorer ce message, car il s’agit d’un bogue Rails.