Support ホームへ

パスワード認証によるアクセス制限

Web サイトに掲載する情報のなかには、 限られたひとたち (例えば会員、スタッフなど) だけに公開したい情報もあります。

パスワード認証によるアクセス制限を使えば、 特定の ユーザ名 と パスワード を入力したいひとだけに、Web ページへのアクセスを 制限することができます。

アクセス制限は、ディレクトリ単位でできます。 アクセス制限されたディレクトリの中のページ (そのディレクトリの 中に別のディレクトリがあれば、その中のページも) が、アクセス制限の対象となります。

手順

  1. アクセス制限をしたいディレクトリを決めます。なければ、つくります。
    このディレクトリは、Web によるアクセスができる場所 (個人用 Web サイトであれば public_html ディレクトリの中) でなければなりません。

  2. .htaccess ファイルを作成し、 アクセス制限の記述をします。
    すでにアクセス制限をしたいディレクトリに .htaccess ファイルがある場合は、 そのファイルに アクセス制限の記述を書き加えます。
    記述のしかたは 下記 を参照してください。

  3. .htaccess ファイルを、FTP ソフトウェアなどで アップロードします。
    なお、FTP でのアップロードは テキストモード (ASCII モード) で 行ってください。バイナリモードでアップロードすると、 正しく動作しません。

  4. パスワード情報を書き込んだ .htpasswd ファイルを作成します。
    作成のしかたは 下記 を参照してください。


.htaccess の書き方

.htaccess ファイルには、つぎのようなものを書きます。

AuthUserFile 行

.htpasswd ファイルを置く場所を書きます。 フルパスで書く必要があります。

たとえば、marupeke のホームディレクトリに置く場合

AuthUserFile /home/jcagw/marupeke/.htpasswd
となります (JCA-NET では、ユーザのホームディレクトリの場所は /home/jcagw/JCA-NETユーザID と決まっています)。

AuthName 行

アクセス制限のされているディレクトリにアクセスすると、 Web ブラウザでは ユーザ名 と パスワード の入力を促します。 このときに表示される説明を書きます。

たとえば、つぎのように書くと

AuthName "Private Space"
Web ブラウザでアクセスしたときに、「Private Space のユーザ名とパスワードを 入力してください。」といったメッセージが表示されます。

AuthType 行

つぎのように書きます

AuthType Basic

<Limit> 部

アクセス制限で、パスワード認証を有効にするユーザ名を書きます。

つぎのように書きます

<Limit GET HEAD POST>
require user guest1
require user guest2
require user guset3
</Limit>

上記では、guest1guest2guest3 の 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 ファイルを作る

htpasswd コマンドを使って、パスワードのファイルを作ります。

  1. telnet で JCA-NET にログインします。 ログインの際は、JCA-NETユーザID と JCA-NETパスワード が必要です。
  2. ログイン後にメニューが表示されたら、メニューを終了します。 すると、コマンドプロンプトが表示されます。
  3. htpasswd コマンドを、ユーザ名 の数だけ実行し、 .htaccess ファイルをつくります。
    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」をつけません。

注意