Basic認証設定ツール
100番煎じどころではないと思われるツールを作ったので置いておきます。
Basic認証をかけたいディレクトリ内に basic.php
などの名前でサーバにアップロードしてアクセスすると、作るべき .htaccess
と .htpasswd
の場所と内容を表示します。先頭に並んでいる test1
とかの部分は、認証させるユーザ名とパスワードです。適当に変更&増減できます。
.htaccess
の雛形を作ってくれたり .htpasswd
の内容を作ってくれたりするツールは多いけど、AuthUserFile
の内容を調べたりするのも面倒なのでそれも自動で。_(:3 」∠ )_
<?php
$users = array(
'test1' => '1234',
'test2' => '2345',
'test3' => '3456',
);
$path = dirname($_SERVER['SCRIPT_FILENAME']);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Basic Authentication</title>
</head>
<body>
<h1>Basic Authentication</h1>
<h2><?php h($path) ?>/.htaccess</h2>
<pre>AuthUserFile <?php h($path) ?>/.htpasswd
AuthGroupFile /dev/null
AuthName "Basic"
AuthType Basic
require valid-user
<Files ~ "^.(htpasswd|htaccess)$">
deny from all
</Files></pre>
<h2><?php h($path) ?>/.htpasswd</h2>
<pre><?php
foreach ($users as $username => $password) {
t($username . ':' . crypt($password) . "\n");
}
?></pre>
</body>
</html>
<?php
function h($data)
{
$data = htmlspecialchars($data, ENT_QUOTES, 'UTF-8');
$data = nl2br($data);
echo $data;
}
function t($data)
{
$data = htmlspecialchars($data, ENT_QUOTES, 'UTF-8');
echo $data;
}
?>