No se proporcionó ninguna opción secreta a Rack :: Session :: Cookie warning?

Estoy ejecutando Rails 3.2.3, Ruby 1.9 bajo Fedora 17. Recibo esta advertencia, cuando ejecuto rails s , ¿y cómo lo arreglo?

ADVERTENCIA DE SEGURIDAD: No se proporcionó ninguna opción secreta a Rack :: Session :: Cookie. Esto plantea una amenaza a la seguridad. Se recomienda encarecidamente que proporcione un secreto para evitar explotaciones que puedan ser posibles a partir de cookies creadas. Esto no será soportado en futuras versiones de Rack, y las versiones futuras incluso invalidarán sus cookies de usuario existentes.

Este es un error de Rails, ya que la subclase está violando el contrato API de la superclase.

La advertencia puede ser ignorada por los usuarios de Rails.

( https://github.com/rack/rack/issues/485#issuecomment-11956708 , énfasis añadido)

Confirmación sobre la discusión de errores en los Rails: https://github.com/rails/rails/issues/7372#issuecomment-11981397

Al leer la discusión basada en la respuesta de tehgeekmeisters, esta advertencia aparece cuando Rails usa cookies de Rack de una manera diferente a la prevista. Debería estar bien simplemente ignorar esta advertencia por ahora hasta que haya un acuerdo final sobre cómo manejar este problema y una solución en su lugar.

Este problema se ha solucionado en el recién publicado Rails 3.2.11.

Log: https://github.com/rails/rails/commits/v3.2.11

Confirmar: https://github.com/rails/rails/commit/95fe9ef945a35f56fa1c3ef356aec4a3b868937c

carriles 3.2.9 – ruby ​​1.9.3p125 (2012-02-16 revisión 34643) [i686-linux]

Hola a todos, lo siguiente me ha funcionado, puede funcionar para usted.

  /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 degradación al rack 1.4.1 debería ser suficiente para resolver esto por ahora. Hay un problema abierto para esto y acabo de enviar una solicitud de extracción que parece arreglarlo para mí. En cualquier caso, observe el problema y podrá actualizar al rack 1.4.2 una vez que se solucione.

Aparentemente, hay una discusión en curso sobre cómo solucionar esto en otro problema . Tendrá que retroceder a 1.4.1, ignorarlo o descubrir su propia solución hasta que se resuelva (y backported, si eso sucede).

Se ha abierto un problema en Github https://github.com/rails/rails/issues/8789 . Parece que un error relacionado con Rails 3.2.10 con Rack 1.4.2 está causando esto. OMI, se puede ignorar de forma segura hasta que se resuelva el problema.

EDITAR : Este problema se ha resuelto en Rails 3.2.11.

actualización de carriles a 3.2.13, puede resolver esta pregunta.

Los usuarios de Rails pueden ignorar este mensaje, ya que es un error de Rails.