アクセス制限
1. 機能

アクセス制限は、特定のディレクトリに「.htaccess」というファイルを置くことでディレクトリへのアクセスにIDとパスワードによる制限をかけます。会員制のWebページを作る時などに便利です。この設定はディレクトリ単位でいくつでもできます。下記の「設定方法」をよくお読みいただいた上で作業をして下さい。

アクセス制限はウェブコントロールパネル「Site Manager (サイトマネージャー)」により簡単に行うこともできます。

以下はマニュアル(手作業)による設定方法です。


2. 設定方法

2-1. 設例
まず、設例を以下のようにします。

ドメイン名: ○○○
ホームページが置かれるディレクトリ: /home/○○○/www/
制限をかけたいディレクトリ: /home/○○○/www/secret/
パスワード・ファイルが置かれるディレクトリ:/home/○○○/ (ホームディレクトリ上に置いたほうがより安全です)

また、次のIDを持つ人にそれぞれ次のパスワードを割り当てるものとします。

Ryutaro: momo
Youko: perl5
2-2. 「.htaccess」の設定

テキストエディタ(ノートパッド等)で、次の内容を持ったファイルを作成し、「.htaccess」というファイル名で保存します。(点線はたんに区切りをあらわしているので実際には打たないでください。)

--------------------------------------------------
AuthUserfile /home/○○○/.htpasswd
AuthGroupfile /dev/null
AuthName ByPassword
AuthType Basic

require user Ryutaro Youko
-------------------------------------------------

のちほど、パスワードを格納する「.htpasswd」というファイルを作成しますので、1行目は「.htpasswd」までのフル・パス(そのファイルに至る道筋)を記述してください。2行目から4行目までは、上の通りに記述してください。

なお、あとからIDの設定を増やす場合には、「require user Ryutaro Youko」 の後ろにユーザーIDを加えます。
ただしここで、「require valid-user」としておけば、ユーザーを増やすたびに「.htaccess」ファイルを更新しなくて済みます。
すなわち、以下のようになります。

--------------------------------------------------
AuthUserfile /home/○○○/.htpasswd
AuthGroupfile /dev/null
AuthName ByPassword
AuthType Basic

require valid-user
-------------------------------------------------

そしてこの「.htaccess」を /home/○○○/www/secret/ の下にFTPしてください。
その結果、以下のようになります。

/home/○○○/www/secret/.htaccess


特定のホストからは、パスワードを要求しない設定
--------------------------------------------------
AuthUserfile /home/○○○/.htpasswd
AuthGroupfile /dev/null
AuthName ByPassword
AuthType Basic

require valid-user
Satisfy any

order deny,allow
allow from 192.0.36.36
deny from all
-------------------------------------------------

この例では 192.0.36.36 からは認証不要となります。192.0.36.36は架空のIPアドレスです。実際には自分自身などの許可したいIPアドレスを指定してください。
Satisfy any を宣言すれば「ホスト制限」または「パスワード認証」のどちらかを満たせばアクセスが許可されます。

2-3. パスワード・ファイルの作成

次に、各ユーザーに対してパスワードを割り当てます。これは、Telnet(SSH)上でコマンド・ラインから「.htpasswd」というファイルを作成します。

まず、passwords ディレクトリに移動します。

cd /home/○○○/

つぎに、以下のように打ち込むことにより、Ryutaroのパスワードを設定します。

$ htpasswd -c .htpasswd Ryutaro

すると、サーバーが以下のように聞いてきます。

Adding password for Ryutaro.
New password:

ここで、Ryutaroのパスワードであるmomoを入力します。入力するパスワードは表示されませんので間違えないように注意して入力してください。サーバーはパスワードを再入力することを要求してきます。

Re-type new password:

これでRyutaroのパスワード設定は完了します。同様の手続で、Youkoの分のパスワードも設定します。
この時に、注意が必要なのは、2つめ以降のパスワードの設定の時には、「-c」を付けないでください。パスワード・ファイルが上書きされてしまうことになります。
したがいまして、Youkoのパスワードの設定は、次のようになります。

$ htpasswd .htpasswd Youko

ご参考)特定のホストからのアクセスを拒否する

以下のような .htaccess をアクセスを制限したいディレクトリに置きますと、そのディレクトリ以下は、指定されたホストからのアクセスを拒否します。
--------------------------------------------------
order allow,deny
allow from all
deny from 209.204.226.146
deny from 192.0.36.
-------------------------------------------------

この例では 209.204.226.146 からのアクセスを拒否します。また、192.0.36.???からのアクセスも拒否します。
これらは架空のIPアドレスです。実際には許可したいIPアドレスを指定してください。

Back To Index

Copyright © レンタルサーバー W3Lab Co., Ltd. All rights reserved.