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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
ufoo68
November 25, 2025
Programming
68
1
Share
Cookieとは?
ufoo68
November 25, 2025
More Decks by ufoo68
See All by ufoo68
改めて考えるOSSのあり方について
ufoo68
0
36
文法で学ばないJavaScript
ufoo68
0
52
今更ながら、開発現場での生成AI活用について
ufoo68
0
70
28歳独身エンジニア 婚活してみた
ufoo68
0
29
OpenAIでクッキー型を作る
ufoo68
1
61
初めて開発リーダーをやってみた話
ufoo68
0
140
M5Stack用の指紋認証デバイスを試す
ufoo68
0
880
結婚式のクイズアプリを自作した話
ufoo68
0
680
M5Stack Core2とAlexaでインターフォンに自動で対応してくれるIoTデバイスを作りたかった話
ufoo68
0
720
Other Decks in Programming
See All in Programming
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
180
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
310
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
310
AIと共にエンジニアとPMの “二刀流”を実現する
naruogram
0
130
感情を設計する
ichimichi
5
1.1k
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
560
Coding as Prompting Since 2025
ragingwind
0
720
存在論的プログラミング: 時間と存在を記述する
koriym
5
780
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
7
1.2k
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
330
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
840
Mastering Event Sourcing: Your Parents Holidayed in Yugoslavia
super_marek
0
150
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Building Applications with DynamoDB
mza
96
7k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Context Engineering - Making Every Token Count
addyosmani
9
800
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
510
Producing Creativity
orderedlist
PRO
348
40k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
670
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
370
Skip the Path - Find Your Career Trail
mkilby
1
96
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.8k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.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への規制もその例)