Home > パスワード制限 > Cosmo Gate
|
特長
- このシステムは、WEB上でアクセス制限を行うシステムです。
- サンプルは以下にあります(ID=geust パスワード=guest)。
- COSMO GATEの機能的な特長は以下のとおりです。
- IDとパスワードによるアクセス制限が可能です。
- URLを知らせることなくアクセス制限が可能です。
- ジャンプ先ファイルはHTMLにもCGIにも対応可能です(ただし、CGIファイルの場合はダミーフレームを使用した簡易対応)。
- アクセス制限ができる対象は1ファイルのみです。(複数ファイルを制限する場合には、WebProtect を利用してください)
- 管理者はアクセス履歴ログを閲覧することができます。
- 入室画面及びエラー画面はテンプレート式になっており、自由にデザインやレイアウトを変更することができます。
- このプログラムを利用する上での利用規定です。必ず目を通しておいて下さい。プログラムをダウンロードする場合、「利用規定」に同意したものとみなします。
プログラムの入手
- 以下の書庫ファイルをダウンロードします。
- ダウンロード後、解凍 します。解凍すると以下のファイルが展開されます。
gate.cgi ---------------- 認証プログラム init.cgi ---------------- 設定ファイル admin.cgi --------------- 管理プログラム check.cgi --------------- 設定チェック用プログラム lib/Crypt/RC4.pm -------- 暗号化モジュール [配布元] private/secret.html ----- 隠しファイル(サンプル) data/log.cgi ------------ 記録ファイル data/passwd.cgi --------- パスワードファイル tmpl/enter.html --------- テンプレートファイル tmpl/error.html --------- テンプレートファイル style.css --------------- スタイルシート
プログラムの設定及び設置
- 全体のディレクトリ構成とファイル位置の設置例は以下のとおりです(かっこ内はパーミッションの設定値)。
【設置案1】
・隠しファイルを置くディレクトリに、同梱されている .htaccess を置き、直接のアクセスを拒否する。
/home/hoge/ ... ログインする位置 | +-- public_html / index.html (トップページ) | +-- gate / gate.cgi [705] ... 入室画面 | admin.cgi [705] ... 管理画面 | check.cgi [705] ... 動作チェック用プログラム | init.cgi [604] ... 設定ファイル | style.css | +-- lib | | | +-- Crypt / RC4.pm | +-- private / .htaccess ..... ディレクトリ内のアクセスを拒否 | secret.html ... 隠しファイル | +-- data / log.cgi [606] | passwd.cgi [606] | +-- tmpl / enter.html ... 入室画面テンプレート error.html ... エラー画面テンプレート
【設置案2】
・隠しファイルを置くディレクトリを、直接アクセスできない位置に置く。
/home/hoge/ ... ログインする位置 | +-- private / secret.html ... 隠しファイル 【非公開の位置】 | +-- public_html / index.html (トップページ) 【公開の位置】 | +-- gate / gate.cgi [705] ... 入室画面 | admin.cgi [705] ... 管理画面 | check.cgi [705] ... 動作チェック用プログラム | init.cgi [604] ... 設定ファイル | style.css | +-- lib | | | +-- Crypt / RC4.pm | +-- data / log.cgi [606] | passwd.cgi [606] | +-- tmpl / enter.html ... 入室画面テンプレート error.html ... エラー画面テンプレート
- init.cgi を エディタ で開いて以下の箇所を修正します。
- $cf{password} = '0123';
- (管理者によるアクセスログ閲覧モードのためのパスワードを指定して下さい)
- $cf{secfile} = "./private/secret.html";
- (認証後に表示する隠しファイルを記述します。HTMLならばサーバパスで、CGIファイルならばhttp://から始まるURLパスで記述します)
- $cf{secet_type} = 0;
- (ジャンプ先ファイルの種類を指定します。HTMLなら「0」を、CGIなら「1」を指定します)
- gate.cgi, admin.cgi, check.cgi を エディタ で開いて以下の箇所を修正します。
- #!/usr/local/bin/perl
- (プロバイダで定められたPerlへのパスを指定します)
- 以上、修正が完了したら各ファイルを所定のディレクトリへFTP転送し、以下のとおり アクセス権 (パーミッション) を設定します。
ファイル名 パーミッション 転送モード 一般サーバ suEXECサーバ
CGIWrapサーバgate.cgi
admin.cgi
check.cgi755 or 705 701 or 700 アスキー init.cgi 644 or 604 600 アスキー style.css
tmpl/enter.html
tmpl/error.html
private/secret.html- - アスキー log.cgi
passwd.cgi666 or 606 600 アスキー Tips:ファイル転送の仕方は以下のページを参考にしてください。
FTP : Windows編 FTP : Macintosh編 - 以上、作業が完了したら「チェックモード」で動作チェックを行ないましょう。「check.cgi」に直接アクセスすることで、簡易的なチェックを行うことができます。なお、動作チェック後はcheck.cgiはファイル削除しておきます。
補足事項
- ログインのためのIDとパスワードの設定については、管理画面(admin.cgi)から入力方式で行います。
- 隠しファイルがCGIファイル(掲示板やチャット等)の場合、ファイルは以下の構成例のように配置します。
(ただし、この場合CGIのURLはフレームで簡易的に隠しているだけですので、CGIに直接アクセスされたくない場合には、WebProtect を利用してください)
public_html / index.html (トップページ) | +-- private / bbs.cgi ... 隠しファイル | +-- gate / gate.cgi | admin.cgi | init.cgi | style.css | +-- data / log.cgi | admlog.cgi | +-- tmpl / enter.html error.html
- gate.cgi の主な修正箇所
- $cf{secfile} = "http://www.example.com/private/bbs.cgi";
- (隠しファイルをhttp://から始まるURLパスで記述します)
- $cf{secet_type} = 1;
- (ジャンプ先ファイルの種類を「1」とします)