ホームページのパスワード

(2009.04.17)

BASIC認証(UNIX標準認証)で,ホームページにパスワードをつける方法.「認証方法には,CGIによる方法,JavaScriptによる方法等ありますが,BASIC認証が一般的であり他の方法に比べてセキュリティ面でも心配を生じさせない環境を作る事が出来る」.
(環境)Turbo Linux 7.0 + Appace, CentOS 5.3

.htaccess の作成

ホームページを管理するユーザーでログイン.そして,パスワードを施すページのディレクトリに,以下のような内容のテキストファイルをつくる.
AuthType Basic
AuthUserFile /home/www/etc/passwd.dat
AuthName "Enter password"
Require user students
2行目はパスワードファイルの絶対パス.
3行目はログインするときのダイヤログに表示するメッセージ.
4行目はユーザーstudentsのみを許可する設定.
4行目を Require valid-user とすると,パスワードファイルに書いたユーザーはすべて許可する設定.
ファイル名,属性は以下のとおり.
$ ls -la
-rw-r--r-- 1 fukuda www 101 Apr 15 15:03 .htaccess

パスワードファイルの作成

パスワードファイルを作るディレクトリでhtpasswdコマンドが使えるか,確認.
$ htpasswd
Usage:
htpasswd [-cmdps] passwordfile username
htpasswd -b[cmdps] passwordfile username password

htpasswd -n[mdps] username
htpasswd -nb[mdps] username password
-c Create a new file.
-n Don't update file; display results on stdout.
-m Force MD5 encryption of the password.
-d Force CRYPT encryption of the password (default).
-p Do not encrypt the password (plaintext).
-s Force SHA encryption of the password.
-b Use the password from the command line rather than prompting for it.
On Windows, TPF and NetWare systems the '-m' flag is used by default.
On all other systems, the '-p' flag will probably not work.
使い方は,この表示通りで,

Apache httpd.confファイルの修正

rootで/etc/httpd/conf/httpd.confを以下のように修正.
# This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo",
# "AuthConfig", and "Limit"
#
# AllowOverride None
AllowOverride All
Apacheの再起動.
# /etc/rc.d/init.d/httpd restart

.htaccess の色々な設定

参考

  1. ホームページにパスワードを付ける方法 (http://sys.chro.co.jp/~kouzzy/htaccess.html)2004.6現在