マサのWeb玉手箱 >> プロフィール 気まぐれ日記

学級日誌番外 (ホームページ作成ノウハウ集)

>>> 学級日誌番外トップ

6.CGIによる隠しページの作り方 (2003年8月5日)

◎環境
・独自 CGI が利用可能なこと
◎解説
普通、サイト内の各ページは拡張子が htm 若しくは html になっていれば、
リンクを辿らなくても直接アドレス指定でも開く事が可能である。
これは、特別な時にのみ表示させたいコンテンツを作るときには弊害となる。
サーバーにアクセス制限をかける方法もあるが、今回は CGI のみで隠しページを作る方法を紹介する。
(1)ユーザー認証ページを作る
認証画面
            <form name="form1" method="post" action="auth.cgi">
            <input type="hidden" name="mode" value="ninsyou">
            
--------------------------
CGI の呼び出しと共に隠しフィールドでモードを送信する。
ID/Password認証
(2)認証CGI(auth.cgi)を作成する
            $auth_file = "****.cgi";  ←隠したいファイル名を拡張子 cgi として記述
            
            if($in{'mode'} eq "ninsyou"){
              &ninsyou;
            }elsif($in{'mode'} eq "xxxx"){  ←他にモードがある場合
              &xxxx;
            }else{
              exit(0);
            }
            
            sub ninsyou{
             (ここに認証処理を記述)
              print "Content-type: text/html\n\n";
              open(IN, $auth_file) || die "Open Error: $auth_file";
              while (<IN>) { print; }
              close(IN);
            }
            
(3)隠しページ(HTML)を作成する
通常のHTMLを拡張子 cgi として保存、パーミッションを755としてサーバーに転送する。
これにより直接アドレス指定が無効となり認証画面からのアクセスのみが有効になる。

 

>>> マサがお勧めするCGIの本 (by Amazon.co.jp)