Railsを使っていて自分で直接cookieを設定するという状況はほとんどなく、大抵はsessionをハッシュ感覚で、便利に利用してきた。Rails2.0以降はsessionの保存先はデフォルトでcookieになり、そのまま利用する限りcookieの有効期限は空欄のままなので、ブラウザを終了するまでsessionは保持されることになる。そして、次回ブラウザを起動すると、期限切れのcookie(その中にsessionが保存されている)は削除されている。 ほとんどの場合、上記デフォルト設定のまま使っていたか、またはrestful_authenticationなどに頼りきりだったので、いざ自分でsessionに有効期限を設定しようとした時、苦労してしまった。とても基本的なことであるのに...。 config/environment.rbでの設定 2009-01-01 00:00:00まで有効にし
Railsのセッションの有効期限を変更する Railsでセッション有効期限を変更して、ログイン状態での最後のアクセスから1ヶ月間ログインを保持するやり方。 Railsでログイン状態を保持する方法 - おもしろWEBサービス開発日記 sessionに有効期限を設定する時の試練 - ザリガニが見ていた...。 これらの先人の記事に感謝しつつ参考にしてみる。 ■dynamic_session_expプラグインのインストールruby script/plugin install http://svn.codahale.com/dynamic_session_exp/trunk ■セッションの有効期限を設定 config/environment.rbCGI::Session.expire_after 1.month ※Rails::Initializer.run do |config|~ end内に書
(6/20 大幅に加筆修正を行いました)Railsのセッションの有効期限は、デフォルトだとブラウザが終了するまでです。これだと、ログインページによくある「ログイン状態を保持する」チェックボックスが作れません。というわけで、やり方を調べてみたら、よさそうな情報がのっているサイトを見つけたので英語の勉強がてら概要を意訳してみたいと思います。 HowtoChangeSessionOptions in Ruby on Rails すべてのセッションに対して一律に有効期限を作りたい場合 environment.rbに下記のように設定します。 ActionController::Base.session_options[:session_expires] = Time.local(2009,"jan") ここでは、上記のように絶対時間を入れます。Time.now + 1.weekのようにするのはうまく
Rails2.0の変更点で、セッション(session)データの保存先がクッキー(cookie)になったということを、よく目にする。確認してみると、確かに以前はtmp/sessionsフォルダの中に常にセッションファイルがあり、増え続けていたが、2.0環境にしてからはいつも空っぽだ。そうなると、本当にクッキーに保存されているのか?どのように保存されているのか?実際に覗いてみたくなった...。 クッキーを確認する MacOS X版のFirefox2.0のクッキーは、Firefoxの環境設定 >> プライバシー タブ >> Cookieを表示 ボタン、で表示される。 想像以上のクッキーの多さに驚く。一つずつ見ていてはキリが無いので、検索で「localhast」と入力してみる。 すると一気に絞り込まれ、Cookie名から「_test_slip202_session」が求めるクッキーだと予想できる
NasuaはRuby on Railsで作ったメモ帳WEBアプリです。って今ではすっかりRailsな話題を取り上げるだけとなってしまいました。。 Ruby On Rails ではログイン前もログインの後も同じセッションCookieを使用するためセッション固定攻撃に対する脆弱性があります。 以前の記事ではログインの後にセッションをリセットする方法で実装を行ってみましたが、試してみたところflashにセットした値が取得できないという不具合がありました。例えば、次のコードでは"logged out !"とい文字列がViewで表示されません。(たぶん使い方が悪いのでしょうが。。) def logout reset_session flash[:notice] = "logged out !" redirect_to(:action => "login_form") end そこで、自前でcooki
RUBY ON RAILS - session key , session id and cookies in rails with swfupload So I am trying to implement easy_swf_upload but I'm running into an error right away. There's a session key, which is defined like this: session_key = RAILS_GEM_VERSION < "2.3.0" ? ActionController::Base.session[0][:session_key] : ActionController::Base.session_options[:key] Since I have the most recent version of rails I
ActionWebServiceを使っていたら、クライアント側にクッキーが設定されないせいで、リクエスト毎にセッションファイルが1つずつ増えていた。 ので、セッションをオフにする方法を調べた。 http://wiki.rubyonrails.org/rails/pages/HowtoChangeSessionOptions http://techno.hippy.jp/rorwiki/?HowtoChangeSessionOptions アプリケーション全体でオフ。 class ApplicationController < ActionController::Base session :disabled => true end 特定のコントローラだけオン。 class MyController < ApplicationController session :disabled => fa
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く