■ コンテンツのパスワード保護(基本認証)
基本認証方式によるコンテンツのパスワード保護[Apache1.3x, Apache2.0x]
Copyright© N/A
Apache環境においてウェブサーバー上の特定のファイルまたはディレクトリへのアクセスに対し、パスワード入力によるユーザー認証(基本認証)を必要とするように設定する方法を解説する。基本認証方式はユーザ名とパスワードテキストの入力を求め、入力された情報がサーバー側の記録と一致すればアクセスを許可する簡易なもので、ほとんどのブラウザが標準で対応しているため、これを用いることで簡単にユーザ認証を設けることが出来る。
![]() |
Windows XP + Internet Explorer6で 表示される認証ダイアログ |
基本認証のセキュリティレベル
HTTP+基本認証は、パスワードがクリアテキストで送受信されるため、盗聴や改ざんの恐れがあり重要な認証には適さない。より高いセキュリティレベルが必要な場合はSSL(HTTPSなど)など通信が暗号化されるプロトコルの利用を検討する必要がある。しかし一般ユーザ向けの簡易な認証方式としては、HTTP+基本認証でも十分機能を果たす。
.htpasswdファイルの作成
基本認証方式でユーザーのパスワード認証を行うには、まず認証情報を保存する".htpasswd"ファイルを作成、サーバーにアップロードする必要がある。このファイルは「ユーザ名」と「パスワードを暗号化した文字列」を列挙したテキストファイルで次のようになっている。
# .htpasswdファイル
# ユーザー名:暗号化パスワード
user1:/h0iSByVVHN6I
user2:esH.CzKQna1OU
暗号化パスワードは元の平文パスワードをUNIX-crypt関数で暗号化した文字列で、この部分は自分で用意する必要がある。ユーザ登録作業を端末コンソール上で手動にて行う場合は、Apacheに付属の"htpasswd"コマンドを用いることで、これらは半自動化して行うことが出来る。
| .htpasswd作成Flashツール(DES-crypt) |
| このツールを用いると.htpasswdファイルを自動的に生成することが出来ます。ユーザ名とパスワードを入力して[ADD]ボタンを押して下さい。.htpasswdに記述する内容が下のテキスト領域に表示されます。 |
.htaccessファイルの設定
パスワードファイルが用意できたら、あとは.htaccessに認証を有効化するディレクティブを記述する。
# .htaccessファイル
# 認証方式
AuthType Basic
# パスワード入力ダイアログに表示されるメッセージ
AuthName "WELCOME"
# パスワードファイル(指定は絶対パス)
AuthUserFile /home/~user/.htpasswd
# ユーザーグループ
AuthGroupFile /dev/null
# 特定のファイルへのアクセスに対する認証
<Files admin.htm>
require valid-user
</Files>
# 特定のディレクトリへのアクセスに対する認証
<Directory admin>
require valid-user
</Directory>
Posted at November 11, 2004, 00:58

