カテゴリ: 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サイトになります。

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

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

カテゴリの一覧へ
新着記事
New1
PHP
PHPの真偽値と条件判定をやさしく解説!初心者でもわかるempty・isset・is_nullの使い方
New2
PHP
PHPのreturnの使い方を解説!初心者でもわかる関数の終わらせ方と戻り値
New3
PHP
PHPで曜日や祝日を判定する方法!初心者でもわかる日付処理の基本ガイド
New4
PHP
PHP のエラー種類を完全ガイド!初心者でも理解できる Notice・Warning・Fatal Error の違い
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.2
Java&Spring記事人気No2
PHP
PHPの配列をソートする方法!sort, rsort, asort, ksortの使い方を丁寧に解説します!
No.3
Java&Spring記事人気No3
Python
Pythonで曜日を取得する方法を完全解説!初心者でもわかるweekday()とisoweekday()
No.4
Java&Spring記事人気No4
PHP
PHP のデータ型を完全ガイド!初心者でもわかる int, string, float, bool など
No.5
Java&Spring記事人気No5
PHP
PHPのswitch文を使った条件処理の書き方を完全ガイド!初心者でもわかる使い方
No.6
Java&Spring記事人気No6
PHP
PHP の可変変数と変数の参照渡しを完全解説!初心者でも理解できる動的変数の使い方
No.7
Java&Spring記事人気No7
Python
PythonでMySQLに接続する方法を完全解説!初心者でもわかるpymysqlの基本
No.8
Java&Spring記事人気No8
Python
Pythonのイミュータブルとは?変更できないデータ型の特徴を解説
-
-