概要と動作イメージ

Windows+MSIEでの動作イメージ。 Apache HTTPサーバがBASIC認証に使用するユーザー認証ファイル(.htpasswdファイル)を編集する簡単なCGIスクリプトです。あまりたくさんのユーザー管理には向きません。

動作環境

Perl5以上およびPerl標準モジュール群がインストールされたサーバで動作します。

利用許諾

いわゆるX11ライセンス(MITライセンス)の下で自由にご利用いただけます。

利用許諾はバージョン1.5からようやく「明記」しました。ほったらかしにしていてすみませんでした。

ダウンロード

ダウンロード後、ファイル名を "htpasswd.cgi" などにリネームしてください。

設置方法

1. 初期設定

スクリプトをテキストエディタで開き、1行目のperlのパスおよび「初期設定」のセクションを書き換えます。設定必須なのは、管理者パスワード($ADMIN_PASSWD)と、ユーザー認証ファイルのパス($PASSWD_FILE)だけでしょう。多くのUNIX系サーバでは、これだけで正常にユーザーの追加・削除、および認証が行えると思います。

Windowsサーバでは、crypt()によって暗号化されたパスワードがサポートされないため、htpasswdコマンドを使う設定($USE_HTPASSWD = 1;)にするか、パスワードを暗号化しない設定($USE_PLAINTEXT = 1;)にする必要があります。htpasswdコマンドのパス($HTPASSWD)はプロバイダのサポート等に問い合わせてください。

2. サーバーに設置する

外部からスクリプトにアクセスし難いように設置してください。URL非公開のディレクトリや、別途認証がかかったディレクトリに設置するのが良いでしょう。また、ユーザー認証ファイルも外部からアクセスできる場所には置くべきではありません。パーミッションはスクリプト本体を705、ユーザー認証ファイルを606にします。

ファイル等 パーミション 解説
public_html 公開ディレクトリ
sEcReTdIr 701 任意の秘密の(URI非公開)ディレクトリ
htpasswd.cgi 705 スクリプト本体
members 認証をかけたいディレクトリ
.htaccess ここに認証の設定
.htpasswd 606 ユーザ認証ファイル

認証をかけたいディレクトリには、例えば以下のような内容の.htaccessファイルを置きます。

AuthType Basic
AuthName "Members' area"
AuthUserFile /home/foo/.htpasswd  # サーバ内パスは要確認
Require valid-user

更新履歴

更新日と公開日とが数日ずれている場合があります。

スクリプトの更新履歴(新着順)
更新日 バージョン 更新内容
2007-04-18 1.5
  • 利用許諾を明記したのみ。
2004-12-05 1.4
  • htpasswdを実行できていなかった不具合(typo)を修正。
  • 自動生成するパスワードの長さを設定できるようにした。
  • 出力部分の細かい修正。
2004-07-30 1.3
  • ユーザーの追加・修正をきちんと選べるようにした。
  • パスワードの自動生成機能を追加。
2004-07-13 1.2
  • マークアップをXHTML1.0に変更。
  • ユーザー名を登録順にソートするようにした。
  • ある文字を含むユーザー名が削除できなかった不具合を修正。
2004-05-13 1.1
  • 公開
This is Index of confetto. © 2004-2007 confetto.