PHPでデータベースを利用し始めると、
といった疑問が出てきます。
私自身も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 ファイルを作成してファイル名を入力します。
下記のブログ記事で紹介しているのでご参照ください。

AIにデータベース情報を読み込ませない方法
最近はCursorやClaude CodeなどのAIを使って開発する機会が増えています。
しかし、AIはプロジェクト内のファイルを読み込むことがあります。
そのため、データベース情報が入ったファイルは除外設定をしておくのがおすすめです。
Cursorの場合
.cursorignore
config/database.php
.env
GitHubの場合
.gitignore
config/database.php
.env
Claude Codeの場合
.claude/settings.json
などを利用して対象ファイルを除外できます。
設定方法はバージョンによって異なりますが、基本的な考え方は同じです。
一番多い情報漏洩の原因
実は、
- ブラウザの検証ツール
- ページソース表示
による漏洩はほとんどありません。
実際によくあるのは、
といったケースです。
そのため、
「ブラウザから見られるか」
よりも、
「パスワードを含むファイルをどこへ共有するか」
を意識する方が重要です。
まとめ
PHPで書かれたデータベースのユーザー名やパスワードは、通常ブラウザから見られることはありません。
ただし、
- GitHub
- Cursor
- Claude Code
- ChatGPT
などへ共有する際は注意が必要です。
おすすめの構成は、
- database.phpで接続情報を管理
- .gitignoreでGit管理対象外にする
- .cursorignoreでAIの読み込み対象外にする
- 可能なら公開ディレクトリ外に配置する
という方法です。
初心者のうちは「PHPのコードはブラウザには送られず、実行結果だけが送られる」という仕組みを理解しておくと、データベースやサーバーの学習がぐっと進めやすくなると思います。


