Skip to Content
ドキュメントWeb・プログラミング基礎🔒 環境変数・シークレットを安全に扱う

🔒 環境変数・シークレットを安全に扱う

このページで学ぶこと

  • APIキーやパスワードをコードに直接書いてはいけない理由がわかる
  • 環境変数とは何かがわかる
  • .env ファイルの使い方がわかる

なぜ重要か

開発をしていると、APIキーやデータベースのパスワードなどの「秘密の情報」が必要になります。

これをコードに直接書いてしまうと、GitHubにアップした瞬間に世界中に公開されます。
実際に、GitHubに誤ってAPIキーを公開して不正利用され、数十万円の請求が来た事例が多数あります。

// ❌ 絶対にやってはいけない
const apiKey = "sk-1234567890abcdef"
javascript

環境変数とは

環境変数とは、コードの外側(OSやサーバー)に保存する変数のことです。
コードからは「この名前の変数を読んでください」とだけ書き、実際の値はコードに入れません。

// ✅ こう書く。値はコードの外に置く
const apiKey = process.env.MY_API_KEY
javascript

やってみよう

ステップ1: .env ファイルを作る

practice フォルダに .env というファイルを作り、以下を書く。

MY_NAME=とんペディア
MY_SECRET=super-secret-value
plaintext

ステップ2: .gitignore に追加する

.gitignore ファイルを開き(なければ作り)、以下を追加する。

.env
plaintext

これで .env は Git の管理対象から外れ、GitHubにアップされなくなります。

ステップ3: 値を参照する

Node.js では process.env.変数名 で読み込める。

// .env を読み込むために dotenv パッケージを使う
require('dotenv').config()
 
console.log(process.env.MY_NAME)    // → とんペディア
console.log(process.env.MY_SECRET)  // → super-secret-value
javascript

Next.js では不要
Next.js は .env ファイルを自動で読み込んでくれます。dotenv を別途インストールする必要はありません。

ステップ4: .env.example を作る

.env 自体は共有できませんが、「どんな変数が必要か」を伝えるために .env.example を作ります。
値は空にして、GitHubにアップします。

MY_NAME=
MY_SECRET=
plaintext

チームメンバーはこれを見て、自分の .env を作れます。


ルールまとめ

ファイルGitHubにアップ用途
.env❌ しない実際の秘密の値を書く
.env.example✅ する必要な変数名だけ書いてチームに共有

確認しよう

  • .env ファイルを作って変数を定義した
  • .gitignore.env を追加した
  • process.env.変数名 で値を読み込めた
  • .env.example を作った
  • git status.env が追跡されていないことを確認した

AIに聞いてみよう

「Next.js で環境変数を使うとき、NEXT_PUBLIC_ プレフィックスは何のためにありますか?」


次のステップ

HTTPSとCORSを理解する

Last updated on