🔰はじめての方へ

【GitHubパスワード管理】使うなら必須!パスワードやデータベース情報を安全に管理する方法

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

PHPやWordPress、Webサイト制作を学び始めると、GitHubでソースコードを管理する機会が増えてきます。

しかし、その際に注意しなければならないのが「パスワードの管理」です。

私も最初は、

  • データベースのパスワードはどこに書けばいいの?
  • GitHubにアップしても大丈夫?
  • .gitignoreって何?

といった疑問を持っていました。

今回は、初心者向けにGitHub利用時のパスワード管理についてまとめます。

PHPを使ったパスワード管理やパスワードをAIに読み込まれない方法について、別の記事にもまとめているので、気になる方はご参照ください!

【パスワードなどの管理】PHPの機密情報はブラウザから見える?AIに読み込まれないようにする方法も解説
PHPでデータベースを利用し始めると、データベースのユーザー名やパスワードはどこに書けばいいの?ブラウザの検証ツールで他人に見られないの?CursorやClaudeなどのAIに読み込まれないようにできるの?といった疑問が出てきます。私自身も…

なぜパスワード管理が重要なのか

例えば、データベース接続情報を次のように書いたとします。

<?php

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

このファイルをGitHubへアップロードすると、リポジトリを閲覧できる人はパスワードを見ることができます

特に公開リポジトリの場合は、世界中の誰でも閲覧できる状態になります。

そのため、

  • データベースパスワード
  • APIキー
  • SMTP情報
  • 各種認証情報

GitHubへアップロードしないことが基本です。

.gitignoreとは?

.gitignore は、Gitに「このファイルは管理しないでください」と伝えるためのファイルです。

例えば、

project/
├ .gitignore
├ config/
│   └ database.php

という構成の場合、

.gitignore

config/database.php

と記載します。

すると、

git add .
git commit
git push

を実行しても、

config/database.php

はGitHubへアップロードされません。

初心者がやりがちなミス

実は、

.gitignore

を書いただけでは安心できません。

例えば、

間違った手順

git add .
git commit

後から

.gitignore

を作成

Gitは既にファイルを管理中

引き続きGitHubへアップロードされる

という状態になります。

既に管理されているファイルを除外する方法

もし誤って管理対象にしてしまった場合は、

git rm --cached config/database.php

を実行します。

その後、

git commit
git push

を行うことで、今後はGit管理対象から外れます。

database.phpとdatabase.example.phpを使い分ける

実務ではよく次のような構成を使います。

project/
├ config/
│   ├ database.php
│   └ database.example.php

database.php

本番用

return [
    'host' => 'localhost',
    'dbname' => 'real_db',
    'user' => 'real_user',
    'password' => 'real_password'
];

database.example.php

GitHub公開用

return [
    'host' => 'localhost',
    'dbname' => 'database_name',
    'user' => 'username',
    'password' => 'password_here'
];

そして、

.gitignore

config/database.php

とします。

すると、

本物のパスワードはGitHubへアップロードされず、

サンプル設定だけ共有できます。

GitHubを使うなら最低限やるべきこと

最低限次の設定例です。

.gitignore

管理したくないファイル名を記入

.env
config/database.php
private/database.php

AI利用時

CursorやClaude Codeを使う場合は、

.cursorignore

.claude/settings.json

などを利用して、秘密情報を含むファイルを読み込み対象から除外します。

GitHubで最も多い情報漏洩

初心者の頃は、

「ハッカーにサイトを見られるのでは?」

と思いがちです。

しかし実際には、

  • GitHubへ誤って公開
  • APIキーをコミット
  • データベースパスワードをアップロード
  • AIへそのまま貼り付け

といった人的ミスが圧倒的に多いです。

そのため、

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

よりも、

「GitHubへアップロードしていないか」

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

まとめ

GitHubを使う場合、

パスワードやAPIキーを含むファイルは必ず .gitignore に登録しましょう。

おすすめは、

  • database.php はGit管理しない
  • database.example.php をGit管理する
  • .gitignore を最初に作成する
  • AIへコードを共有する際は秘密情報を削除する

という運用です。

私自身もPHPやデータベースを学び始めた際に、「PHPのコードはブラウザから見えないから大丈夫」と考えていました。

しかし実際には、ブラウザよりもGitHubやAIへの共有による情報漏洩の方が起こりやすいことを知りました。

これからGitHubを使い始める方は、まず .gitignore の使い方を覚えるところから始めることをおすすめします。