vlucas/phpdotenv
ライブラリを使います。
composer require vlucas/phpdotenv
※ composer がまだ使えない場合は、先に Composerのインストール をご案内します。
your-project/
├── .env
├── index.php
├── vendor/
└── composer.json
ADMIN_PASSWORD_HASH=$2y$10$AbCdEfG...
DB_NAME=my_database
<?php
require_once __DIR__ . '/vendor/autoload.php';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
echo $_ENV['DB_NAME']; // my_database
login.html
<form method="POST" action="login.php">
<input type="password" name="password" placeholder="パスワード">
<button type="submit">ログイン</button>
</form>
login.php
<?php
require_once __DIR__ . '/vendor/autoload.php';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
$hashed = $_ENV['ADMIN_PASSWORD_HASH'];
$input = $_POST['password'];
if (password_verify($input, $hashed)) {
echo "ログイン成功!";
} else {
echo "パスワードが間違っています。";
}
.gitignore
に追加すればGitで漏れない