CGIの説明 --- アクセスログ ----
アクセスログは、CGIとしては、一番簡単なCGIなので、これを取り上げて説明します。
アクセスログのCGIは、ここから、ダウンロードして下さい。
アクセスログのCGIは、2つのプログラムから構成されています。
1つは、アクセスログを取得するプログラムで、getac.cgi という名称です。
1つは、アクセスログを表示するプログラムで、aclog.cgi という名称です。
アクセウログは、データベースPostgreSQLのテーブルに記憶します。
PostgreSQL はフリーでですが、性能的にも十分実用に耐えるデータベースなので、これを使います。
将来的には、他のデータベースを使用する事も考慮しますが、今の所、当社の提供するCGIは、
全て、PostgreSQLをデータベースとして利用する様になっています。
セキュリティ上の安全を確保する為に、データベースサーバは、ウエブサーバと別に設置し、IPアドレス
もローカルな値にして、インターネットからデータベースサーバへの直接接続はできない様にするのが
良いと考えます。
ユーザのウエブ毎にデータベースを用意し、その中にaccessという名称のテーブルを作成します。
このテーブルに、アクセスログとして記録する情報を保存します。
つまり、所定のページにアクセスがあれば、アクセス情報をacccessというテーブルに追加
(すでに同一クライアントのデータが有れば更新)します。
これによって、アクセス情報がデータベースに蓄積されます。
蓄積されたアクセス情報は、ブラウザから見る事ができる様にします。
その時には、aclog.cgi を起動します。
アクセス情報は、1ページ当りN件の一覧表示(全体では、Mページ)と、1件づつの詳細表示を
行える様にします。
一覧表示では、 aclog.cgi cmd=PAGE page=n 指定のページ
aclog.cgi cmd=NXPAGE cpage=n nページ目の次のページ
aclog.cgi cmd=LSPAGE cpage=n nページ目の前のページ
詳細表示では aclog.cgi cmd=ONE id=nnn
という様にCGIを起動します。
一覧表示では、/home/user/htmx/aclog にある、ac_view.htm を元ネタにして表示画面を表示し、
詳細表示では、同じディレクトリの ac_detail.htm を元ネタにして表示するものとします。
提供されたCGIで用意する以外の表示形式が必要であれば、処理プログラムを新たに作成して追加します。
その為に、CGIは、ソースファイルも供給しています。