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
Cookieとは?
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ufoo68
November 25, 2025
Programming
75
1
Share
Cookieとは?
ufoo68
November 25, 2025
More Decks by ufoo68
See All by ufoo68
BlenderをCodexで動かす
ufoo68
0
210
改めて考えるOSSのあり方について
ufoo68
0
52
文法で学ばないJavaScript
ufoo68
0
69
今更ながら、開発現場での生成AI活用について
ufoo68
0
81
28歳独身エンジニア 婚活してみた
ufoo68
0
34
OpenAIでクッキー型を作る
ufoo68
1
67
初めて開発リーダーをやってみた話
ufoo68
0
140
M5Stack用の指紋認証デバイスを試す
ufoo68
0
900
結婚式のクイズアプリを自作した話
ufoo68
0
690
Other Decks in Programming
See All in Programming
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
3
1.8k
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.3k
JavaDoc 再入門
nagise
0
220
RailsTokyo 2026#4: AI様があれば、 Hotwireの弱点は消えるか?
naofumi
5
1k
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
100
誰も頼んでない機能を出荷した話
zekutax
0
150
AIエージェントの隔離技術の徹底比較
kawayu
0
450
Transactional Change Stream Processing With Debezium and Apache Flink
gunnarmorling
1
140
Oxcを導入して開発体験が向上した話
yug1224
4
260
OSもどきOS
arkw
0
340
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
2
210
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
760
Featured
See All Featured
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
550
Un-Boring Meetings
codingconduct
0
300
ラッコキーワード サービス紹介資料
rakko
1
3.5M
RailsConf 2023
tenderlove
30
1.5k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
350
Producing Creativity
orderedlist
PRO
348
40k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
390
How to build a perfect <img>
jonoalderson
1
5.5k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
380
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
190
Google's AI Overviews - The New Search
badams
0
1k
Transcript
Cookie🍪とは? ざっくりと学ぶWebの基礎
自己紹介 • 名前 ◦ 松永勇太(@ufoo_yuta) • 出身学科 ◦ 大阪工業大学ロボット工学科 •
職業 ◦ Webエンジニア • すきなこと ◦ シンプルなものづくり
今日のテーマ: Cookie🍪について
なぜこのテーマ? ここ数年、クッキーというワードを結構見ませんでしたか?
このLTが目指すところ ビジネス向けのネット記事よりは具体的だけど、 エンジニア向けの技術記事よりはライトな内容。 さらに詳しいことは各自調べてみて下さい
ざっくり基礎
これだけ覚えて帰って欲しい Cookieとは、 ブラウザのストレージ機能の一つ それ以上でも、 それ以下でもない!
ブラウザのストレージ機能 (本当はもう少し種類があるが)大きく3つくらいがメインで使われる • Cookie • LocalStorage • SessionStorage
ブラウザのストレージの基本1 ストレージは、ドメイン単位 で管理される。 この例だと、 https://xxx.google.com というURL内で有効
ブラウザのストレージの基本2 ストレージは、それぞれ有効期限 がある。 ストレージ 有効期限 Cookie 設定次第(最大400日ぐらい) LocalStorage 無期限と言われるが、最近は最大7日 SessionStorage
ブラウザを閉じるまで
ブラウザのストレージの基本3 ストレージは、JavaScriptを経由する。 ストレージ 書き込み方法 Cookie document.cookie = "hoge=fuga" LocalStorage localStorage.setItem("hoge",
"fuga") SessionStorage sessionStorage.setItem("hoge", "fuga")
その中でも Cookieが注目されやすい理由 問題なのは使われ方 • センシティブな情報が入りやすい ◦ 認証情報 ▪ トークン ◦
ユーザー行動 ▪ 買ったもの ▪ 住んでいるところ • サーバー通信に適している ◦ なぜ適しているかは次で説明する ◦ サーバーに送るためのユーザー情報が収集される
サーバー通信に適しているとは? 例えばLocalStorageの場合、 • HTTP通信でサーバーにデータを送る時は必ず値を明示する必要がある • 中身はスクリプトで自由に参照できるので攻撃の危険がある Cookieの場合、 • HTTP通信を呼び出したら自動でサーバーに送ってくれる •
設定次第でスクリプトからの参照をブロックできる
コード例を比較 LocalStorageの場合、
コード例を比較 Cookieの場合、 サーバーから Cookieを設定 JavaScriptでの明示は不要
少し踏み込んだ話
クッキーへの同意が最近増えた理由 簡単に一言でまとめると、 今まで勝手にやってたことが最近規制され始めた↓
サードパーティクッキーって何? ファーストパーティクッキーとは? • サイト自身が発行する Cookie サードパーティクッキーとは? • サイトとは別に発行された Cookie •
基本的にはiframeの技術を使用 ◦ サイト内に別のWEBを表示する仕組み ◦ WEB広告とか動画の埋め込みとか
安全なCookieとは? 以下の設定が有効化されているもの • Secure ◦ Https通信のみを制限 • HttpOnly ◦ JavaScriptからの参照ができない
• SameSite=Strict or Lax ◦ サードパーティクッキーの利用を制限
さいごに ブラウザはこの先、 「できること」 が増えていく。 その一方で、 「できたことへの制限」 も増えていく。 (Cookieへの規制もその例)