私はRails 3.2からRails 4に切り替えました。私は、セキュリティ上の問題でできるだけ早くスピードアップしていることを確認しようとしています。今はセッションが心配です。 Rails 4はCookieベースのセッションを除いて本当に何かをサポートしなくなったようですが、Cookieベースのセッションが永遠に生き残ることはできないようです。私はいくつかの記事を読んできましたが、これは最も公式です:http://guides.rubyonrails.org/security.html#session-expiry。クッキーベースのセッションではこれが問題であると指摘していますが、データベースベースのセッション(これは廃止されているはずです)のために修正されています。Rails 4:セッションが終了しましたか?
私は本当に混乱しています。私は、攻撃者がログイン保護されたサイトに永久にアクセスできるクッキーを取得できないようにしたい。明らかに私は:initializers/session_store.rbでexpire_afterを設定することができますが、私が間違っていない限り、単にクライアント側のクッキーの有効期限を設定し、攻撃者によって簡単に変更されるので、セッションは永遠に生きることができます。もちろん、SSLを強制したり、安全なCookieを使用したり、HTTPのみを強制したりすることで、より良いものにすることができますが、セッションの有効期限を守るまで完全な防衛になることはありません。
Railsがサーバー側のセッションを持つ唯一の方法を非難している場合、この問題をどのように解決できますか?
私は、アクティブなレコードセッションが宝石に移動され、まだ利用可能であることを知っていますが、それは廃止されているという事実が残っています。より多くの依存関係を導入することなく、あるいは最低限、非推奨機能を使用せずに、ソリューションを実現する必要があります。
なぜ尋ねられてから数年後に(コメントなしで)これが下降していますか? – Kyle
これは非常に有効な質問です.Railsガイドは...まあまあです。最新の「エッジ」であっても、あなたがまだそこにあるものによって混乱した理由を完全に理解しているので、私はあなたの質問に対する良い答えを知ってうれしいです。 – silverdr