この記事ではイメージが付きにくいセッションについて学習をして行きます。
目標:セッションの理解とセキュリティを意識したシステムの提案を可能とします。
是非ここで学んだことを実務でのセキュアなシステムの構築に役立てていただければ幸いです。
1 セッション管理とは?
1−1 セッションて何?
セッションとは個人(利用者)を特定する一意のトークンと思ってくれて大丈夫です。
また同一のユーザーが一定の時間内に何度訪れようと一意のものとしてカウントされます。
1−2 何故セッションが必要?
webアプリで利用するHTTP通信はステートレスのプロトコルになります。
通信の前後で状態を補完することが出来ません。
セッションを利用してユーザーとシステムの会話を担保しているのです。
HTTPの通信単体では状態を保持することが出来ないので、cookie(クッキー)と言う情報を付与して通信を行います。
正確にはcookieの中にセッション情報を格納してクライアントとサーバーのやり取りを行なっています。
どうやってセッションを生成しcookieに格納するのかは以下のリンクで確認してください。
(セッションの生成とcookieへの格納の仕方)
1−3 セッションでデータとして管理するもの
・ログインユーザのデータ
認証情報、許可情報、言語(日本語・英語・中国語等)
・仕掛かり中の業務データ
申し込みフォーム、アンケート、買い物処理等
このセッションのまとめ問題
1、セッションを使う目的は?
2、どこに格納する?
3、使い方を間違えると重大な事故を引き起こす可能性はある?
ぜひ質問や聞いてみたいことがあればコメントを貰えると嬉しいです。
次は脆弱なセッション管理が起こすインシデントケースと仕組みについて学習して行きます。
脆弱なセッション管理が起こすインシデントの仕組み(webセッションについて2)