カテゴリ: PHP 更新日: 2026/02/10

PHPのCookieをGDPRとプライバシーポリシーに対応させる方法!初心者向けにやさしく解説

PHP の Cookie の GDPR・プライバシーポリシー対応方法
PHP の Cookie の GDPR・プライバシーポリシー対応方法

先生と生徒の会話形式で理解しよう

生徒

「先生、PHPでCookieを使うときって、ヨーロッパの法律にも関係あるんですか?」

先生

「はい、ヨーロッパではGDPRという個人情報保護の法律があるので、PHPでCookieを使う場合にも注意が必要なんです。」

生徒

「えっ、法律?プログラミング初心者でも関係あるんですか?」

先生

「もちろん関係あります。でも安心してください。今日はPHPでCookieを使うときにGDPRやプライバシーポリシーにどう対応すればいいか、やさしく解説しますね。」

1. GDPRとは?初心者にもわかる意味と目的

1. GDPRとは?初心者にもわかる意味と目的
1. GDPRとは?初心者にもわかる意味と目的

GDPR(General Data Protection Regulation)は、ヨーロッパのEUで定められた個人情報保護の法律です。日本語では「一般データ保護規則」と呼ばれます。

このGDPRは、EUに住んでいる人のデータを扱うすべてのWebサイトやサービスに対して適用されます。たとえ日本から運営していても、アクセスする人がEU圏内であれば関係します。

つまり、PHPで作ったWebサイトでも、Cookieを使って個人情報を保存するならGDPRに対応しないといけません。

2. Cookieとプライバシーの関係とは?

2. Cookieとプライバシーの関係とは?
2. Cookieとプライバシーの関係とは?

Cookie(クッキー)とは、Webサイトがユーザーのブラウザに情報を保存する仕組みのことです。ログイン情報やアクセス状況、選んだ商品などが保存されます。

この中には「個人情報」に関わるものもあります。たとえば、次のような内容です:

  • 名前やメールアドレス
  • ユーザーIDやセッションID
  • 位置情報やIPアドレス

こうした情報をCookieに保存すると、ユーザーのプライバシーに関わるため、事前に説明して同意を得る必要があります。

3. PHPでCookieを使う前に表示する「同意バナー」とは?

3. PHPでCookieを使う前に表示する「同意バナー」とは?
3. PHPでCookieを使う前に表示する「同意バナー」とは?

GDPRでは、個人情報を保存する前に「Cookieを使ってもいいですか?」という確認の表示(バナー)をユーザーに見せなければなりません。

これを「Cookie同意バナー」と呼びます。

バナーが表示されたら、ユーザーが「同意する」ボタンをクリックした場合にだけ、PHPでCookieを保存します。

4. Cookie同意バナーのHTMLとJavaScript例

4. Cookie同意バナーのHTMLとJavaScript例
4. Cookie同意バナーのHTMLとJavaScript例

まずは、シンプルなCookieバナーのHTMLを作成しましょう。以下は表示部分の例です。


<div id="cookie-banner" class="fixed-bottom bg-light p-3 border-top">
  このサイトではCookieを使用しています。<a href="/privacy.html">プライバシーポリシー</a>
  <button class="btn btn-primary ms-2" onclick="acceptCookie()">同意する</button>
</div>
<script>
function acceptCookie() {
  document.cookie = "cookie_consent=1; path=/";
  document.getElementById("cookie-banner").style.display = "none";
}
window.onload = function() {
  if (document.cookie.indexOf("cookie_consent=1") !== -1) {
    document.getElementById("cookie-banner").style.display = "none";
  }
}
</script>

このコードでは、ユーザーが「同意する」をクリックしたときにcookie_consentというCookieが保存される仕組みです。

5. PHPでCookieを保存する前に同意をチェック

5. PHPでCookieを保存する前に同意をチェック
5. PHPでCookieを保存する前に同意をチェック

次に、PHPでCookieを使う前に、同意を得たか確認するコードを見てみましょう。


if (isset($_COOKIE['cookie_consent']) && $_COOKIE['cookie_consent'] === '1') {
    setcookie("user_id", "123", time() + 3600);
}

このコードは、ユーザーが同意したあとでないとCookieを保存しないようになっています。

6. プライバシーポリシーには何を書くべき?

6. プライバシーポリシーには何を書くべき?
6. プライバシーポリシーには何を書くべき?

GDPR対応では、Cookieの使い方を詳しく書いた「プライバシーポリシー(個人情報保護方針)」ページも必要です。

最低限、以下の内容を記載しましょう:

  • どんな種類のCookieを使っているか
  • Cookieでどんなデータを保存しているか
  • 保存期間はどれくらいか
  • 第三者と共有するかどうか
  • ユーザーがCookieを拒否・削除する方法

これらは、HTMLでprivacy.htmlというページを用意し、バナーからリンクを貼るのが一般的です。

7. 初心者でもわかるPHPのGDPR対応チェックリスト

7. 初心者でもわかるPHPのGDPR対応チェックリスト
7. 初心者でもわかるPHPのGDPR対応チェックリスト

最後に、PHPでCookieを使うときのGDPR対応ポイントをチェックリスト形式でまとめます。

  • Cookieを使う前に同意バナーを表示しているか
  • 同意なしではCookieを保存していないか
  • Cookieの使い方を明記したプライバシーポリシーがあるか
  • セキュア属性やhttponlyを設定してセキュリティを強化しているか
  • EUからアクセスされる可能性があるなら必ず対応しておく

これらを守ることで、法律にもユーザーにも安心して使ってもらえるWebサイトになります。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

PHP のクッキー管理の記事一覧へ
新着記事
New1
Gemini
GeminiでPHPコードを学ぶ方法!初心者向けに始め方と学習手順を解説
New2
PHP
PHP のセッション変数を保存・取得・削除する方法
New3
PHP
PHP のコンストラクタ(__construct)とは?使い方を解説
New4
Claude
ClaudeでPythonデバッグを解決する方法!Pythonデバッグのエラーメッセージを長いログから読み解く方法
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでディレクトリを作成・削除・一覧表示する方法!初心者向けにosとpathlibを使った使い方を解説
No.2
Java&Spring記事人気No2
Gemini
GeminiでPython自動化を始める時の質問文!目的と前提を伝えるコツ
No.3
Java&Spring記事人気No3
Claude
ClaudeにPHPコードをレビューしてもらう方法!安全性と保守性を同時に確認するチェックリスト
No.4
Java&Spring記事人気No4
PHP
PHP のフォームデータの受け取り($_POST, $_GET)を完全解説!初心者向けガイド
No.5
Java&Spring記事人気No5
Python
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.6
Java&Spring記事人気No6
Claude
Claudeを使ったPythonコードレビューの進め方!設計意図と処理の流れを表で確認する質問例
No.7
Java&Spring記事人気No7
Gemini
GeminiにPHPエラーを相談する時のコードの貼り方!原因特定を早めるコツ
No.8
Java&Spring記事人気No8
PHP
PHP のインストール方法(Windows・Mac・Linux)と開発環境