質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

3284閲覧

railsのセッション管理について

chiku_

総合スコア1464

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2015/06/15 02:04

railsのセッション管理について教えて下さい。

railsはクッキーが無効化されていた場合にセッションを保持するような仕組みは容易されていないのでしょうか?(urlにセッションIDを付与するような仕組み)

またactiverecord-session_storeについて、下記gemを参照してみましたが、いまいち使い方などわかりません。
https://github.com/rails/activerecord-session_store

テストコード
https://github.com/rails/activerecord-session_store/blob/master/test/action_controller_test.rb
を見ると
session[:foo] = "baz"
など行っているので、通常のrailsのセッションと同じように扱えるのだと思いますが、
reset_session
を行うと、セッションテーブルの対象データが削除されるのでしょうか?
ログアウトした時に対象データの削除がされなければ虚弱性になるのではないかと不安に思っています。

一部報道による「Ruby on Railsにcookie保存関連の脆弱性」について
http://qiita.com/yasu/items/8ae3077bdbee606681f6

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

・セッションIDをURLに与えるような仕組み…一応あるにはあるみたいですが、あまりに使われないからか調整しないと使われないようです。

・reset_sesion時

ActionDispatch::Session::ActiveRecordStore#destroy_sessionで、以下のようにActiveRecordをdestroyしています(DBからも消えます)。

lang

1get_session_model(env, sid).destroy

ログアウトが行われればセッションは消えますが、ブラウザを閉じるなどでセッションが切れた場合はデータが残ったままになるので、ときどき消す必要があります。

投稿2015/06/15 02:31

maisumakun

総合スコア145121

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chiku_

2015/06/15 04:27

ありがとうございます。知りたい事がわかりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問