エントリー

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
&lt;Files ~ "^.(htpasswd|htaccess)$"&gt;
deny from all
&lt;/Files&gt;</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;
}

?>

ページ移動

ユーティリティ

カテゴリー

検索

エントリー検索フォーム
キーワード

過去ログ

過去ログ表示フォーム
キーワード

Feed