CGI/SSIの利用方法



 電気電子工学科ではホームページでCGIやSSIを利用することを許可しています。ホームページでカウンタをつけたい,アクセスログをとりたい,という場合はSSIと呼ばれます。また,アンケートを取る場合のようにサーバ側へhtmlファイルからデータを[送る]ボタンで転送する場合はCGIと呼ばれます。CGI,SSIはプログラム次第でセキュリティーホールとなってしまうので,十分理解してから実行して下さい。

● 言語とコンパイル
 使用できる言語は"C","perl","sh"です。perlはインタプリタなので拡張子を".cgi"にして下さい。shも同様です。C言語の実行形のファイル名も拡張子を".cgi"にして下さい。 CGIプログラムのコンパイルの方法は次の通りです。なお,オブジェクトファイルuncgi.oは/ftp/pub/html/uncgi.oから自分のディリクトリにコピーまたはダウンロードして下さい。
cc% gcc -o 実行形式ファイル名.cgi ソースファイル名.c uncgi.o

 SSIプログラムのコンパイルの方法は,例えば,"countup.c"の場合は次のようになります。
cc% gcc -o countup.cgi countup.c

● 使い方
 まず,public_html直下に".htaccess"というファイル名で,次の内容を記述します。

 Options  ExecCGI  Includes  Indexes       …(Indexesはindex.htmlがない場合の処理で,なくてもOK。) 
 AddType  application/x-httpd-cgi  .cgi
 AddType  text/x-server-parsed-html  .shtml

このファイルのモードは次のようにします。
cc% chmod 755 .htaccess

(a) <form>タグを使って呼び出す場合
 例えば,public_html直下のcgi-binのディレクトリ内にファイルtoroku.cgiがある場合のhtmlファイルは次のように書きます。CGIの記述のあるhtmlファイルの拡張子は".html"にして下さい。また,モードは755にして下さい。
< form action="/~denki/cgi-bin/toroku.cgi" method=post >

(b) SSIより呼び込む場合
 例えば,public_html直下にファイルcountup.cgiがある場合のhtmlファイルは次のように書きます。SSIの記述のあるhtmlファイルの拡張子は".shtml"にして下さい。また,モードは755にして下さい。さらに,読み書きするファイルのモードは777にして下さい。
< !--#exec cgi="/~u012345/homelog.cgi"-- >

● サンプルプログラム
アクセスカウンタのサンプルプログラムが動作します。また,このサンプルプログラムのCのソースプログラムがダウンロードできます。


Copyright(C) 1997-1999 日本大学工学部 電気電子工学科 All rights reserved.
 
ホームに戻る