From a Far East Island

2010-03-23

[][]Cookieのhttponly属性を外す方法

Railsセッションを作成するとブラウザCookieが送信される。このCookieが普通にcookiesハッシュで作成したCookieと違うのは、Cookieのhttponly属性がonになって送信されることだ。

これがonのCookieは、ブラウザ上のjavascriptで、

document.cookie

としても値を取得できない。

クライアント側でセッションCookieを意図的にハックしたい場合、以下の方法でhttponly属性をoffにすることができる。

ActionController::Base.session_options[:httponly] = false

RailsによるアジャイルWebアプリケーション開発 第2版」によると、

セッションの場合、オプションはグローバルなので、環境ファイル(config/environment.rbまたはconfig/environments内のファイルのひとつ)で設定できます。

とあるので、環境設定ファイルconfig/initializers/session_store.rbで設定を行うことで、これを実現することができた。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証