■ 動作条件
1.利用しているサーバが .htaccessによるベーシック認証をサポートしている
ことが必須です。
2.cgiを動作させるディレクトリに制限が無いことが必須です。 cgi-bin等
専用ディレクトリへの設置では 本CGIは正常動作致しません。
■ 概要
このプログラムは、まず、アクセス制限用のベースディレクトリ(例としてlimit1)
を作成し(このディレクトリ自体にはアクセス制限はかからない)、その下の階層
に、アクセス制限用のディレクトリを作成していきます。
この階層には、管理用となる「master」ディレクトリも配置され、master内に管理用
の各種プログラムが置かれます。
*配置の例
/public_html
|
|- index.html (トップページ)
|
|-/limit1 (アクセス制限ベースディレクトリ)
|
|- /mastar (管理用ディレクトリ)
|- /dir1 (任意のアクセス制限用ディレクトリ)
|- /dir2 〃
・
・
・
■ 設置方法
次のようにファイルを配置し、パーミッションを設定します。
/public_html
|
|- /limit1 <755>(このディレクトリの名前は任意で可)
|
|-/master <755> (このディレクトリの名前は必ず mastar)
|
|-check.cgi <755>
|-fast.cgi <755>
|-limit.cgi <755>
|-index.html <644>
|-style.css <644>
|-.htaccess <606> #
|-jcode.pl <644>
|
|-/etc <707> # (名前は必ず etc)
| |
| |-master.cgi <606> #
|
|-/temp <707> #(空のディレクトリ 名前は必ず temp)
* # 印のファイル/ディレクトリのパーミッションは特に注意して下さい。
■ 初期設定と使い方
1.ブラウザで check.cgi にアクセスします。
http://設置した場所/check.cgi
MD5 - サポートされています
DES - サポートされています
と表示されれば問題ありません。
もし
MD5 - サポートされていません
と表示された場合は、fast.cgi 及び limit.cgi の次の箇所を書き換えてください。
# 暗号化の方法
$Crypt = 1; # 1=MD5, 0=DES;
↓
$Crypt = 0; # 1=MD5, 0=DES;
2.次に fast.cgi にアクセスし、masterディレクトリ自身にアクセス制限を
施します。
http://設置した場所/fast.cgi
図のように マスタID 及び マスタパスワードを設定してください。
※ ここで
システムエラー
パスが自動取得できません.
直接指定して下さい.
というエラーメッセージが表示される場合、fast.cgi 及び limit.cgi の次の
箇所で master ディレクトリまでのパスを直接指定してください。
例)
$Mypath = '';
↓
$Mypath = '/home/myname/public_html/limit/master';
※ パスとは、"/" から始まるシステム上の絶対パスで URLとは違います。
わからない場合は、サーバ管理者等に問い合わせてください。
※ パスの最後に "/" は付けないでください。
3.管理ディレクトリ自体のアクセス制限を確認
管理パスワード設定後 次の画面「管理プログラム」ボタンをクリックします。
このボタンは 管理プログラム本体である「limit.cgi」にリンクしていますので
設定が正しく行われていれば 認証ダイアログボックスが出てきます。
ダイアログボックスに、設定した マスタID及びマスタパスワードを入力して
ログインします。
次の画面が表示されればOKです。
アクセス制限しているディレクトリはまだ無いので、一覧には何も表示されません。
###重要###
ここまでの作業を終えたら、check.cgi, fast.cgi は、必ずサーバ上から
削除しておいてください。
4.アクセス制限ディレクトリの作成とアクセス制限
FTPソフト等を用いて、master ディレクトリと同一階層上に任意の名前の
ディレクトリを作成します。
※ 作成するディレクトリ名は必ず半角英数字を用いてください。
作成したディレクトリの中に、空の .htaccess と テスト用 index.html
をアップし、.htaccess のパーミッションを <606> に変更します。
※ .htaccess は 付属している master内のものを利用しても 自分で作っても
どちらでも構いません。
管理プログラム本体である limit.cgi に再びアクセスします。
http://設置した場所/limit.cgi
今度は、作成したディレクトリが一覧に表示されてるはずですので
「移動」ボタンをクリックして下さい。
ディレクトリを作成した直後(.htaccess が空の状態)ではこの画面となります。
ここで、認証ダイアログに表示される文字列を指定し「作成」ボタンをクリック
して下さい。
※ ダイアログに表示される文字に日本語を使うと文字化けすることがあります
ので注意して下さい。
※ 複数のディレクトリを作る場合、この文字はディレクトリ毎に変更してくだ
さい。
次の画面が表示されれば、ディレクトリ名をクリックし、認証ダイアログが表示
されるのを確認して下さい。
認証ダイアログが表示されれば、アクセス制限設定は完了です。
現時点では、このディレクトリにユーザーは設定されていないのでログインする
ことは出来ません。
5.ユーザーの追加
アクセス制限を施した後、そのディレクトリにアクセス出来るユーザーを追加
します。
アクセス制限設定後、ディレクトリに移動するとこの画面となります。
ID ・ 名前 ・ パスワードを入力し 「追加」ボタンをクリックしてください。
※ 名前は必須ではありませんが、複数のユーザーを登録する場合に名前を入れ
ておけば 管理が楽になります。
6.登録したユーザーのログイン確認
アクセス制限したディレクトリにアクセスし、登録したユーザーでのログイン
確認を行います。
次のようにテスト用 index.html が表示されれば完了です。
このディレクトリ内に構築したコンテンツはサブディレクトリも含め、全てアクセス
制限の対象となります。
※ コンテンツの送信など FTP等でこのディレクトリ内を操作する場合
「.htaccess」を削除しないよう注意してください。
もし削除してしまった場合は、空の「.htaccess」をアップロードし、
手順 4.アクセス制限ディレクトリの作成とアクセス制限
を再度実行して下さい。
既に登録されているユーザーに影響はありません。
※ 作成したディレクトリが不要になった場合は、ディレクトリを削除した後、
master/etc 内の次のファイルを削除して下さい。
ディレクトリ名.cgi
ディレクトリ名.inf
例)
ディレクトリ名が 「dirname」 の場合、上記ファイル名は
dirname.cgi
dirname.inf
になります。
|