🔰はじめての方へ

【パスワードなどの管理】PHPの機密情報はブラウザから見える?AIに読み込まれないようにする方法も解説

Github
記事内に広告が含まれています。
スポンサーリンク

PHPでデータベースを利用し始めると、

  • データベースのユーザー名やパスワードはどこに書けばいいの?
  • ブラウザの検証ツールで他人に見られないの?
  • CursorやClaudeなどのAIに読み込まれないようにできるの?

といった疑問が出てきます。

私自身もPHPとデータベースを学び始めた際に気になったポイントだったので、初心者向けに分かりやすくまとめてみました。

PHPのコードはブラウザから見えない

例えば次のようなPHPファイルがあったとします。

<?php

$password = 'secret_password';

echo 'こんにちは';

ユーザーがサイトへアクセスすると、サーバー側でPHPが実行されます。

ブラウザへ送られるのは実行結果のみです。

実際にブラウザへ送られる内容は次のようになります。

こんにちは

つまり、ブラウザの検証ツールや「ページのソースを表示」を使っても、

$password = 'secret_password';

のようなPHPコードは見えません

他社に見られるもの・見られないもの

見られるもの

ブラウザへ出力されたHTML

<h1>MIWAの鍵交換</h1>

metaタグ

<meta name="description">

画像パス

<img src="fv-miwa.webp">

見られないもの

データベース接続情報

$password = 'secret_password';

SQL文

$sql = "SELECT * FROM maker";

PDO接続処理

$pdo = new PDO(...);

これらはサーバー内部で処理されるため、通常は外部から閲覧できません。

データベースのパスワードはどこに書くべき?

初心者の場合は専用の設定ファイルを作る方法がおすすめです。

project/
├ public_html/
│  └ index.php
├ config/
│  └ database.php

database.php

<?php

return [
    'host' => 'localhost',
    'dbname' => 'sample',
    'user' => 'user',
    'password' => 'password'
];

index.php

$config = require 'config/database.php';

このようにしておくと、接続情報を一箇所で管理できます。

さらに安全な管理方法

サーバーによっては公開ディレクトリの外に設定ファイルを置くこともできます。

/home/account/

├ private/
│   └ database.php

└ public_html/
    └ index.php

この場合、

$config = require '../private/database.php';

のように読み込みます。

public_html の外にあるため、ブラウザから直接アクセスされる心配がありません。

GitHubを使っている場合

GitHubを使って管理している場合は、パスワード管理は超重要になります!!!

パスワードの入っているファイルは.gitignore ファイルを作成してファイル名を入力します。

下記のブログ記事で紹介しているのでご参照ください。

【GitHubパスワード管理】使うなら必須!パスワードやデータベース情報を安全に管理する方法
PHPやWordPress、Webサイト制作を学び始めると、GitHubでソースコードを管理する機会が増えてきます。しかし、その際に注意しなければならないのが「パスワードの管理」です。私も最初は、データベースのパスワードはどこに書けばいいの…

AIにデータベース情報を読み込ませない方法

最近はCursorやClaude CodeなどのAIを使って開発する機会が増えています。

しかし、AIはプロジェクト内のファイルを読み込むことがあります

そのため、データベース情報が入ったファイルは除外設定をしておくのがおすすめです。

Cursorの場合

.cursorignore

config/database.php
.env

GitHubの場合

.gitignore

config/database.php
.env

Claude Codeの場合

.claude/settings.json

などを利用して対象ファイルを除外できます。

設定方法はバージョンによって異なりますが、基本的な考え方は同じです。

一番多い情報漏洩の原因

実は、

  • ブラウザの検証ツール
  • ページソース表示

による漏洩はほとんどありません。

実際によくあるのは、

  • GitHubへ誤って公開
  • AIへそのまま貼り付け
  • ZIPファイルを共有
  • バックアップデータを誤送信

といったケースです。

そのため、

「ブラウザから見られるか」

よりも、

パスワードを含むファイルをどこへ共有するか

を意識する方が重要です。

まとめ

PHPで書かれたデータベースのユーザー名やパスワードは、通常ブラウザから見られることはありません。

ただし、

  • GitHub
  • Cursor
  • Claude Code
  • ChatGPT

などへ共有する際は注意が必要です。

おすすめの構成は、

  • database.phpで接続情報を管理
  • .gitignoreでGit管理対象外にする
  • .cursorignoreでAIの読み込み対象外にする
  • 可能なら公開ディレクトリ外に配置する

という方法です。

初心者のうちは「PHPのコードはブラウザには送られず、実行結果だけが送られる」という仕組みを理解しておくと、データベースやサーバーの学習がぐっと進めやすくなると思います。