Web サイトに掲載する情報のなかには、 限られたひとたち (例えば会員、スタッフなど) だけに公開したい情報もあります。
パスワード認証によるアクセス制限を使えば、 特定の ユーザ名 と パスワード を入力したいひとだけに、Web ページへのアクセスを 制限することができます。
アクセス制限は、ディレクトリ単位でできます。 アクセス制限されたディレクトリの中のページ (そのディレクトリの 中に別のディレクトリがあれば、その中のページも) が、アクセス制限の対象となります。
.htaccess ファイルには、つぎのようなものを書きます。
.htpasswd ファイルを置く場所を書きます。 フルパスで書く必要があります。
たとえば、marupeke のホームディレクトリに置く場合
AuthUserFile /home/jcagw/marupeke/.htpasswdとなります (JCA-NET では、ユーザのホームディレクトリの場所は /home/jcagw/JCA-NETユーザID と決まっています)。
アクセス制限のされているディレクトリにアクセスすると、 Web ブラウザでは ユーザ名 と パスワード の入力を促します。 このときに表示される説明を書きます。
たとえば、つぎのように書くと
AuthName "Private Space"Web ブラウザでアクセスしたときに、「Private Space のユーザ名とパスワードを 入力してください。」といったメッセージが表示されます。
つぎのように書きます
AuthType Basic
アクセス制限で、パスワード認証を有効にするユーザ名を書きます。
つぎのように書きます
<Limit GET HEAD POST>
require user guest1
require user guest2
require user guset3
</Limit>
上記では、guest1、guest2、guest3 の 3 人が、パスワード認証によってこのディレクトリの中のページを 見ることができます (パスワードのほうは、下記の .htpasswd ファイルで設定します)。 ここに書かれていないユーザ名では、アクセスはできません。
「GET」「HEAD」「POST」は大文字でなければなりません。
AuthUserFile /home/jcagw/marupeke/.htpasswd AuthName "Private Space" AuthType Basic <Limit GET HEAD POST> require user guest1 require user guest2 require user guest3 </Limit>
htpasswd コマンドを使って、パスワードのファイルを作ります。
JCA-NET:~% /usr/local/bin/htpasswd -c /home/jcagw/marupeke/.htpasswd guest1 Adding password for guest1. New password:guest1 のパスワードを入力Re-type new password:おなじパスワードをもう一度入力JCA-NET:~% /usr/local/bin/htpasswd /home/jcagw/marupeke/.htpasswd guest2 Adding password for guest2. New password:guest2 のパスワードを入力Re-type new password:おなじパスワードをもう一度入力JCA-NET:~% /usr/local/bin/htpasswd /home/jcagw/marupeke/.htpasswd guest3 Adding password for guest3. New password:guest3 のパスワードを入力Re-type new password:おなじパスワードをもう一度入力
部分は、実際に入力する部分です。 パスワードの入力内容は、画面には表示されません。
入力の各行末では、改行キーを押します。
はじめて .htpasswd ファイルをつくるときだけ、「htpasswd」の後に「-c」を 付けます。今後、別のユーザ名のパスワードを追加したり、パスワードを 変更したいときは、「-c」をつけません。