LoginSignup
1
2

WEBアプリケーションにおけるセッション管理(webセッションについて1)

Last updated at Posted at 2023-05-26

この記事ではイメージが付きにくいセッションについて学習をして行きます。

目標:セッションの理解とセキュリティを意識したシステムの提案を可能とします。

是非ここで学んだことを実務でのセキュアなシステムの構築に役立てていただければ幸いです。

1 セッション管理とは?

1−1 セッションて何?

webサイトの利用者がページを跨いで保持できる情報です。
Screenshot 2023-05-25 at 17.13.21.png

セッションとは個人(利用者)を特定する一意のトークンと思ってくれて大丈夫です。

また同一のユーザーが一定の時間内に何度訪れようと一意のものとしてカウントされます。

時間が経つとセッションは廃棄されて新しい物が生成されます。
Screenshot 2023-05-26 at 14.45.32.png


1−2 何故セッションが必要?

webアプリで利用するHTTP通信はステートレスのプロトコルになります。

通信の前後で状態を補完することが出来ません。

セッションを利用してユーザーとシステムの会話を担保しているのです。
Screenshot 2023-05-25 at 18.20.37.png

HTTPの通信単体では状態を保持することが出来ないので、cookie(クッキー)と言う情報を付与して通信を行います。

正確にはcookieの中にセッション情報を格納してクライアントとサーバーのやり取りを行なっています。
Screenshot 2023-05-25 at 18.34.50.png

どうやってセッションを生成しcookieに格納するのかは以下のリンクで確認してください。
(セッションの生成とcookieへの格納の仕方)

Screenshot 2023-05-26 at 14.52.17.png

1−3 セッションでデータとして管理するもの

・ログインユーザのデータ
 認証情報、許可情報、言語(日本語・英語・中国語等)

・仕掛かり中の業務データ
 申し込みフォーム、アンケート、買い物処理等

Screenshot 2023-05-26 at 15.11.41.png

このセッションのまとめ問題

1、セッションを使う目的は?
2、どこに格納する?
3、使い方を間違えると重大な事故を引き起こす可能性はある?

ぜひ質問や聞いてみたいことがあればコメントを貰えると嬉しいです。

次は脆弱なセッション管理が起こすインシデントケースと仕組みについて学習して行きます。
脆弱なセッション管理が起こすインシデントの仕組み(webセッションについて2)

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2