Fedora 17でRails 3.2.3、Ruby 1.9を実行しています。_Rails s
_を実行すると、この警告が表示されます。修正しますか?
セキュリティ警告:Rack :: Session :: Cookieには秘密のオプションはありません。これはセキュリティ上の脅威となります。巧妙に細工されたCookieから発生する可能性のある悪用を防ぐために、秘密を提供することを強くお勧めします。これは、Rackの将来のバージョンではサポートされません。将来のバージョンでは、既存のユーザーCookieも無効になります。
これは、サブクラスがスーパークラスAPIコントラクトに違反しているため、Railsバグです。
Rails users。により、警告は安全に無視できます。
( https://github.com/rack/rack/issues/485#issuecomment-11956708 、強調追加)
Railsバグに関する議論の確認: https://github.com/Rails/rails/issues/7372#issuecomment-11981397
Tehgeekmeistersの回答に基づいた議論を読むと、この警告はRailsが意図とは異なる方法でRack Cookieを使用しているためです。この問題の処理方法と最終的な修正に関する最終合意。
この問題は、リリースされたばかりのRails 3.2.11。で回避されています。
ログ: https://github.com/Rails/rails/commits/v3.2.11
コミット: https://github.com/Rails/rails/commit/95fe9ef945a35f56fa1c3ef356aec4a3b868937c
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
Githubで問題が公開されました https://github.com/Rails/rails/issues/8789 。 Rails 3.2.10 with Rack 1.4.2に関連するバグが原因です。IMO、問題が解決するまで無視しても問題ありません。
[〜#〜] edit [〜#〜]:この問題はRails 3.2.11。で解決されました。
Railsの3.2.13への更新により、この問題を解決できます。
Railsバグであるため、Railsユーザーはこのメッセージを無視できます。