Railsでクッキーを扱う

先日 セキュリティ上重要なクッキー属性を読んでみる という記事を投稿しました。そこで取り上げたクッキーについて、Railsでの保存、削除、オプションの付与などを試してみました。

本記事はすべてRailsドキュメントを参考にしています。

クッキーに保存

以下のように記載することでブラウザのクッキーに値を保存できます。


cookies[:sample_cookies] = user.id # user.id => 1
cookieに値の代入

値を暗号化して保存


cookies.signed[:signed_value] = 10
cookieに値の代入

オプションを付与する

ハッシュを用いてオプションを指定します。指定可能なオプションの一覧はこちらです。


cookies[:sample_cookies_with_option] = {
  value: user.id,
  path: '/',
  domain: '127.0.0.1',
  expires: 24.hour.from_now,
  secure: false,
  httponly: true
}

以下のスクリーンショットのように、オプションで指定した値が反映されています。

cookieに値の代入

クッキーの削除


cookies.delete(:user_id)
rails