Basic認証でHTTPアクセス制限をかける

投稿


ディレクトリ単位でアクセス制限をかけたい場合、.htaccessファイルによるBasic認証を使うとお手軽にできます。
アクセスを許可したい人に、ユーザー名とパスワードをわりふっておいて、それを使ってアクセスしてもらいます。
今回は以下のような設定で説明していきます。

ユーザー名: hoge_user
パスワード: piyo_pass

 
 
htpasswdコマンドを使って、AuthUserFile(.htpasswd)を作ります。
これは”ユーザー名”と”暗号化されたパスワード”が格納されたファイルです。
このファイルはHTTPアクセスできない場所に置いておきましょう。
(今回の例では、”/home/bar/foo“に置きます。)

% htpasswd -c /home/bar/foo/.htpasswd hoge_user
New password:piyo_pass
Re-type new password:piyo_pass

これで、AuthUserFile(.htpasswd)ができました。
(htpasswdコマンドの”-c“オプションは新規作成の意味。すでにあるファイルにユーザーを追加する場合には不要)
 
 
ためしに、できたファイル(“/home/bar/foo/.htpasswd“)を見てみると…

hoge_user:$apr1$FeBhBy6T$JfU.bZkzNS/SANsHt0BR30

このようになりました。
htpasswdコマンドを使わなくても、Google検索結果(htpasswd) [↗]で出てくるサイトからブラウザ上で、AuthUserFile(.htpasswd)ができます。
この場合はできた結果をコピペしてAuthUserFile(.htpasswd)を作成して下さい。
 
 
Basic認証で、アクセス制限をかけたいディレクトリに、次のような.htaccessファイルを置きます。

AuthUserFile	/home/bar/foo/.htpasswd
AuthGroupFile	/dev/null
AuthName	"Input your UserName and Password. "
AuthType	Basic
require		valid-user

 
 
これで完成です。
Basic認証のかかったディレクトリにアクセスすると、次のようなウィンドウが出てアクセス制限ができます。





コメントを残す

メールアドレスが公開されることはありません。