サイト内検索  

アクセス制限をしてみよう

V11からフォルダに対するアクセス制限用のファイルをウィザード形式で作成することができるようになりました。

Apacheを使っている場合に、アクセス制限が可能となります。Apacheは主にLinuxやBSDといったUNIX系OSでよく使われるWWWサーバーソフトです。サーバー上でアクセス制限(.htaccess)が使えるかどうかはプロバイダやレンタルスペースごとで異なりますので、使えるかどうかは自分で調べて下さい。

なお、ホームページ・ビルダー上でサイトを作成しておく必要がありますので、サイトを作成しておいて下さい。

パスワード認証を行う

ここでは、一般的な方法であるBasic認証によるパスワード認証を行うとします。

パスワードファイルを用意する

残念ながら、パスワードファイルを作成する機能まではついていません。なので、自前で用意する必要があります。

まず、Windows上でhtpasswd.txtというファイルを作成します。ファイルを作成すると、メモ帳などのテキストエディタで編集可能な状態になるので、htpasswd.txtを開きます。

http://www.avis.ne.jp/avis-cgi/htpasswd.cgi で、.htpasswd作成用のページが公開されているので、それを使って、パスワードを生成します。

設定するユーザ名とパスワードを入力して、「変換」ボタンをクリックすると、.htpasswdの形式に変換されます。

ユーザ名:パスワードの形式で出力されますので、それを、htpasswd.txtに貼り付けて、ファイルを保存します。その後、ファイル(htpasswd.txt)をサーバーにアップロードしてから、サーバー側のファイル名を「.htpasswd」に変更します。

Basic認証用のアクセス制限ファイルを作る

ここで作成するアクセス制限ファイルは、.htaccessという名前になります。これは、Basic認証以外にも使われるアクセスコントロール用のファイルです。
ホームページ・ビルダーのウィザード形式では、フォルダに対するモノしか作成できませんが、手打ちすると、個別ファイルに対するアクセス制限も可能になります。

まず、サイトを開いて、ビジュアルサイトビューを表示します。

ビジュアルサイトビュー・リンク画面

「フォルダタブ」をクリックして、フォルダ情報を表示しましょう。

ビジュアルサイトビュー・フォルダ情報

アクセス制限をかけたいフォルダの上で、右クリックをします。

ビジュアルサイトビュー・フォルダ(右クリックメニュー)

右クリックメニューで「アクセス制限の設定」を選択します。

アクセス制限の設定画面

ここでは、Basic認証によるパスワード認証を行いますので、「パスワード認証をする」にチェックを入れて、認証のタイプは「Basic」を選択します。

Realm領域名は任意の半角英数字を入れて下さい。

認証用パスワードファイルの指定部分には、WWWサーバー上でパスワードファイル(.htpasswd)が保存されている場所をルートディレクトリからの絶対パスで指定します。ファイルの絶対パスの指定方法は、先頭に/をつけます。
ちなみに、私はXREAというレンタルスペースでここのサイトを運用しています。

Realm領域名と認証用パスワードを入力したら、OKボタンをクリックしましょう。これで、.htaccess が作成されます。

.htaccessが作成できたら、サーバーへアップロードしましょう。

作成した.htaccessファイルの内容は以下のような感じになります。

AuthType Basic
AuthUserFile /virtual/hpbuilder/public_html/downloadtest/.htpasswd
AuthName "FUMING"
Require valid-user
Satisfy All

この内容は、.htaccess作成後に「アクセス制限の設定」→「編集」ボタンで見ることも可能です。

アクセスコントロールファイルの編集画面

実際にブラウザでアクセスしてみると、以下のようなダイアログが表示されます。作成例は、http://hpbuilder.net/downloadtest/ にあります。ユーザー名、パスワード共にtestです。

Internet Explorer6
IE6のBasic認証画面

Internet Explorer7
IE7でのBasic認証画面

Internet Explorer6、Internet Explorer7とも、キャプチャ画面での「FUMING」の部分がRealm領域名で入力した名前になります。

ホストによるアクセス制限を行う

特定のアクセス元からアクセスされたくない場合などにホストによるアクセス制限を行うことができます。逆に特定のアクセス元だけにアクセスを許可することも可能です。

アクセス制限をかけたいフォルダで、右クリックメニューを表示し、「アクセス制限の設定」を選択します。Basic認証をするときと同じ画面です。

アクセス制限の設定画面

「ホストによるアクセス制限の設定」ボタンをクリックします。

ホストによるアクセス制限の設定画面

アクセス拒否をする

アクセス拒否をする場合は、「アクセス拒否の設定」にチェックを入れます。

全てのアクセス元から拒否したい場合は、「すべてのホストのアクセスを拒否する」を選択し、「OK」ボタンをクリックします。このときに作成される.htaccessファイルの内容は、以下のようになります。

Deny from All
Order Deny,Allow
Satisfy All

特定のアクセス元から拒否をしたい場合は、「アクセスを拒否するホスト(IPアドレス)を指定する」を選択します。

プルダウンのところに拒否したいホストやIPアドレスを入れます。

たとえば、国の機関関連のアクセスを拒否したい場合は、「.go.jp」と入れてやるとよいですし、特定のIPアドレスを拒否したければ、そのIPアドレスを入れるとよいでしょう。

入力後、「追加」ボタンをクリックします。

ホストによるアクセス制限の設定画面(拒否設定)

その後、「OK」ボタンをクリックします。このときに作成される.htaccessファイルの内容は、以下のようになります。

Deny from .go.jp
Order Deny,Allow
Satisfy All

アクセスを許可する

アクセスを許可する場合、「アクセス許可の設定をする」にチェックを入れます。

特定のIPアドレスやホストからのみアクセスを許可したい場合もあります。典型的なのは、携帯サイトでしょう。こういう場合は、「アクセスを許可するホスト名(IPアドレス)を指定する」を選択します。

たとえば、i-mode向けのサイトを作ったとします。Docomoユーザからだけ許可したい場合は、以下の3つを許可ホストとして付け加えます。

1つのホストを入力した後、「追加」ボタンをクリックします。今回は3つのホストを入れますので、3回繰り返してくださいね。

ホストによるアクセス制限の設定画面(許可設定)

その後、「OK」ボタンをクリックします。このときに作成される.htaccessファイルの内容は、以下のようになります。

Allow from 210.153.84.0/24
Allow from 210.136.161.0/24
Allow from 210.153.86.0/24
Order Deny,Allow
Satisfy All

i-modeだけじゃ不公平だ!という方へ。
EZwebは、http://www.au.kddi.com/ezfactory/tec/spec/ezsava_ip.html
SoftBankは、http://developers.softbankmobile.co.jp/dp/tech_svc/web/ip.php
にIPアドレス情報を公開しています。

.htaccessについてもっと知りたい場合は、「ミケネコのhtaccessリファレンス」などを参照してください。