Next:18. 支援ツールについて Up:HTML文書作成マニュアル Ver 5.11 Previous: 16.6 サーバーサイドインクルード
17. アクセス制限
Webサーバーでは特定のディレクトリに対してアクセス制限をかけることができます。
アクセス制限の設定方法は、Webサーバーによって異なります。
本ドキュメントではUNIX上で動作するWebサーバーApacheに基いて説明します。
Apacheでのアクセス制限は、.htaccessというファイルを制限したいディレクトリの中に作成して行います。
アクセスの「制限」は、次のように設定します。
- まず、次のように記述します。
order deny,allow
これは、今からdeny(拒否)とallow(許可)の設定をする、という意味です。 - 次にアクセス拒否のリストを記述します。
deny fromhost [host[...]]
deny行ではすべてのホストからのアクセスを拒否し、許可するホストだけallowに記述するのが一般的です。
hostにallを入れると、すべてのホストからのアクセスを拒否します。
ホスト名やIPアドレスを指定すると、そのホストからのアクセスのみ拒否します。
複数のホストを定義する場合にはスペース文字で区切ります。
また、特定ドメインのホストすべてを拒否する場合には、foo.co.jpのようにドメイン名を指定します。
これにより、host.foo.co.jpやhost.bar.foo.co.jpのようなホストからのアクセスはすべて拒否されます。
IPアドレスでも同様に192.168.1.と指定すると192.168.1.*のIPアドレスすべてからのアクセスを拒否します。
- 同様のやり方でアクセスを許可するホストのリストを記述します。
allow fromhost [host[...]]
ユーザー名とパスワードを入力するダイアログボックスを表示し、ユーザー認証に成功したときのみディレクトリ内のファイルを閲覧できるようにすることもできます。
- まずパスワードファイルを作るディレクトリを決めます。
仮想パスに置いておく必要はまったくないので、ローカルパスに作るのがよいでしょう。
- パスワードファイルを作るディレクトリに移動します。
- まだパスワードファイルを作っていないのであれば、次のようにパスワードファイルを作成します。
htpasswd -cパスワードファイル名ユーザー名
登録するパスワードを聞かれるので、入力します。
パスワードファイルが盗まれたときに備え、Webサーバーへのログインやメール取得の際に使うパスワードとは別のものにしておいたほうがよいでしょう。
パスワードは暗号化され、ファイルに登録されます。
パスワードファイル名はなんでもかまいませんが、最低限のセキュリティとして、頭に.を付けて不可視ファイルにしておいたほうがよいでしょう。
- すでに存在するパスワードファイルに追加を行うときには、次のように入力します。
htpasswdパスワードファイル名ユーザー名
同様にパスワードを入力します。
- htpasswdでは追加と変更以外の処理ができないので、削除したいときには、パスワードファイルを直接編集します。
- 作成されたパスワードを利用してみましょう。
アクセス制限したいディレクトリに.htaccessファイルを作ります。
- ユーザー認証のための.htaccessファイルの書式は次のとおりです。
- AuthUserFileパスワードファイルのパス名
パスワードファイルのパスにパスワードファイルのローカルパス名を入れます。
- AuthNameタイトル
ユーザー認証ダイアログのタイトルを指定します。
- AuthType認証方式
認証方式を指定します。
PGPやMD5などがありますが、通常はBasicを指定します。
- require userユーザー名 [ユーザー名[ ...]]
アクセスを許可するユーザー名のリストを記述します。
ユーザーが複数いる場合、スペース文字で区切ります。
パスワードファイルで登録したユーザー名をここに記述します。
- AuthUserFileパスワードファイルのパス名
ユーザーをグループ化して、このグループでアクセス制御することも可能です。
- 適当なディレクトリにパスワードファイルと同様、適当な名前のグループファイルを作成します。
この内容は、次のようになります。
グループ名:ユーザー名[ユーザー名[ ...]]
ユーザー名の間はスペース文字で区切ります。
たとえばtestというグループにユーザーkmutoとkenshiを登録する場合、test:kmuto kenshiになります。
- ユーザー認証用の.htaccessを記述します。
AuthUserFile、AuthName、AuthTypeは同じです。
次の設定を新たに記述します。
- AuthGroupFileグループファイルのパス名
グループファイルのパス名にグループファイルのローカルパス名を入れます。
- require groupグループ名
require userの代わりにrequire groupを使います。
グループ名には作成したグループ名を記述します。
たとえばrequire group testのようになります。
- AuthGroupFileグループファイルのパス名
アクセス制限やエラーページのカスタマイズを行う.htaccessの詳細は、別のページで解説しています
Next:18. 支援ツールについて Up:HTML文書作成マニュアル Ver 5.11 Previous: 16.6 サーバーサイドインクルード Kenshi Muto
平成11年9月19日
Okano Toyomi
2005年08月13日
HTMLマニュアル
広告