ブラウザにおける情報の一時記憶
・セッション
Webサービスにおいて情報を一時的に記憶しておく仕組み。
ユーザーの情報を一時的に保存し、初回のログイン以降も保持することで、一度ページを離れても、再度アクセスした時にログインの状態や情報を維持したまま再開できる。
・・・Ruby on Railsにおいて、セッションはsessionというオブジェクトにハッシュのような形で格納される。
・session
Ruby on Railsでセッションを使用する際に使うオブジェクト。
コントローラーで使用することができる。
# Tweetsコントローラー
class TestsController < ApplicationController
def index
session[:sample] = 1 # sessionというハッシュに値を追加する
end
end
ユーザー情報を保持したい場合などに用いると便利。
ユーザー機能はdeviseというGemで実装するが、deviseはその内部の処理でセッションを利用してログイン機能を実現している。
・クッキー
ブラウザが持っている、データを保存できる領域。
セッションはDBではなく、ブラウザで一時的にデータを保存するが、ブラウザにあるセッションの情報の保存場所のことをクッキーと呼ぶ。
・CookieStore
Ruby on Railsでセッションを用いる際の、デフォルトの保存先。セッションストレージと呼ぶのが一般的。
セッションはCookieStoreにハッシュ形式で保存される。
(session[:sample]という記述は、ハッシュと同じ記法)
ユーザー情報をセッションを用いて一時的に保存していたら、その情報が盗まれて悪用されてしまう可能性がある。CookieStoreはセッションの情報を暗号化したり、また定期的にリセットしたりすることで対策をしている。
2020/11/08
この記事が気に入ったらサポートをしてみませんか?