Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
知っててうれしい HTTP Cookie を使ったセッション管理について
Search
greendrop
December 22, 2024
Technology
1
150
知っててうれしい HTTP Cookie を使ったセッション管理について
greendrop
December 22, 2024
Tweet
Share
More Decks by greendrop
See All by greendrop
知っててうれしい SQL について
greendrop
0
140
知っててうれしいリレーショナルデータベースについて
greendrop
0
130
スマホアプリエンジニアでない方へ向けた、スマホアプリ開発に関連するトピック
greendrop
0
130
知っててうれしい HTTP について
greendrop
0
170
知っててうれしい HTTP キャッシュについて
greendrop
0
160
知っててうれしい HTTP Cookie について
greendrop
0
160
知っててうれしいデータベースについて
greendrop
0
160
Other Decks in Technology
See All in Technology
ろう・難聴者のコミュニケーションを円滑化する取り組み
chiemi627
0
130
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
57k
EDRからERM: PFN-SIRTが関わるセキュリティとリスクへの取り組み
pfn
PRO
0
160
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
1
360
開発者が自律的に AWS Security Hub findings に 対応する仕組みと AWS re:Invent 2024 登壇体験談 / Developers autonomously report AWS Security Hub findings Corresponding mechanism and AWS re:Invent 2024 presentation experience
kaminashi
0
170
4th place solution Eedi - Mining Misconceptions in Mathematics
rist
0
110
A Hidden Pitfall of K8s DNS with Spring Webflux
musaprg
0
340
20250130_『SUUMO』の裏側!第2弾 ~機械学習エンジニアリング編
recruitengineers
PRO
1
880
ハッキングの世界に迫る~攻撃者の思考で考えるセキュリティ~
nomizone
8
2k
Kubernetesでメールの大量配信をしている話/k8sjp-20250205
hfukamachi
0
370
ビジネスと現場活動をつなぐソフトウェアエンジニアリング~とあるスタートアッププロダクトの成長記録より~
mizunori
0
130
事業継続を支える自動テストの考え方
tsuemura
0
210
Featured
See All Featured
Being A Developer After 40
akosma
89
590k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
99
18k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
300
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Producing Creativity
orderedlist
PRO
343
39k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
For a Future-Friendly Web
brad_frost
176
9.5k
Bash Introduction
62gerente
610
210k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Transcript
知っててうれしい HTTP Cookie を使った セッション管理について 2024/12/22 貞元勝幸 1
目次 セッション管理が必要な理由 セッション管理の仕組み セッション管理のセキュリティ まとめ 目次 2
セッション管理が必要な理由 HTTP はステートレスなプロトコルであるため、リクエスト間の状態 を保持できません。 ステートレスな HTTP において、同じブラウザなどからのリクエスト であることを判断したい場面があります。 例えば、ログインしているユーザーの情報を保持したい場合などで す。
そのような場合に使われる方法として、HTTP Cookie を使ったセッシ ョン管理があります。 セッション管理が必要な理由 3
セッション管理の仕組み セッション管理は、Cookie によるセッション ID の保存と、サーバー 側でのセッション ID とユーザー情報の紐付けによって実現されます。 セッション ID
の Cookie の名前は session_id などが一般的ですが、 任意の名前を使うこともできます。 セッション ID の値は、一般的にはランダムな文字列を使い、ユニーク な値となるようにします。 セッション管理の仕組み 4
セッション管理の仕組み セッション管理の仕組み 5
セッション管理の仕組み セッション管理の仕組み 6
セッション管理のセキュリティ セッション ID がわかると、他のユーザーがログインしているユーザー の情報を取得できるため、セッション ID の推測されにくい値にした り、流出を防ぐことが重要です。 流出しないように、Cookie の設定も重要です。
Domain, Path Secure SameSite セッション管理のセキュリティ 7
まとめ HTTP はステートレスなプロトコルであるため、同じブラウザなど からのリクエストであることを判断したい場合にセッション管理が 必要 セッション ID は、推測されにくいランダムな文字列を使い、ユニー クな値となるようにする セッション
ID の流出を防ぐために、Cookie の設定も重要 まとめ 8
ご清聴ありがとうございました。 9