背景
cookieとsessionの違いがいまいち理解できていなかったので整理
cookie とは
key=value形式でブラウザに保存されるテキストのこと
サーバーからブラウザに対してcookieを保存するかどうかを指示する
サーバーからブラウザにcookieにsessionIdを保存するように指示している
ブラウザがサーバーにアクセスするたびにcookieのsessionIdを送信している
session とは
サーバー側でクライアント側のデータを保持する仕組み
複数のページでログイン情報やカートの情報を保持できるのはこれを活用している
セッション情報はブラウザごとに分けて保存されていて、セッションIDで紐づけている
cookie と session の違い
cookie はブラウザにデータを保存するもの
session はサーバーにデータを保存する仕組み
cookie のセキュリティ対策について
cookieのは属性がある
属性 | 意味 |
---|---|
Domain | ブラウザがcookieを送るサーバーのドメイン |
Path | ブラウザがcookieを送るURLのディレクトリ |
Expires | cookieの有効期限 指定しない場合はブラウザを閉じるまで |
Secure | SSL(HTTPS)のみcookieを送信 |
HttpOnly | Jsからcookieにアクセスするかどうか |
domain属性は基本変更しない
HttpOnly属性をつけないとXSSでcookieが盗み出される恐れがある(それ以外の要因もある)
参考文献
安全なWebアプリケーションの作り方
著者: 徳丸 浩
Amazon