0.CでCGIプログラムを書こう


HOME] [0章] [1章] [2章] [3章] [4章] [5章] [?章

 CGIをつかえば、ユーザーのブラウザからの入力を受け取ったり、 動的に生成したドキュメントをユーザーのブラウザに表示させたり、 文字通りインタラクティブなホームページを作成することができます。

 現在、多くのCGIプログラムは、Perlを用いて作成されています。 CGIを作成するために、Perlを用いるという選択肢は確かに賢明です。 Perl自体、非常に高機能なスクリプト言語ですし、プロバイダーにとっても、 サーバー上でC言語を扱われるよりも、幾分安心できるというものです。 ユーザーにC言語でプログラムさせるためには、コンパイルのためにシェルを 開放しなければなりませんし、C言語やシェルを開放してしまえば、解決不能な セキュリティーホールを抱えることになりかねません。

 しかし、Perlも良いことばかりではありません。どう見ても、コードの外観は 美しいとは言えないでしょう。(Wall先生、ごめんなさい)$やら@やら_やらの 記号が大量に出現しますし、変数の型(がないこと)や、スコープ、 引数などの決まりを憶えなければなりません。これらは、BASICで育った人々 からすれば、全く苦痛を感じないことでしょうが。

 さて、自分のサーバーを管理している人や、学校、会社などでCGIを 書いている人はC言語を使える環境にいることが多いと思います。 CGIを書くためには、標準入力と標準出力が できれば、どの言語でもよいのです。Fortranでもなんでも。 このページでは、もっともポピュラーと思われるC言語を使ってCGIを 作成する方法を、いくつかの例を交えて解説したいと思います。

注意!!
 プログラム例は、FreeBSD 2.2.5 + Apache 1.2.4でテストしました。 (このページを公開しているサーバーではありません) 他の環境では、若干の修正が必要かも知れません。 C言語についても、標準includeファイルの場所や、 ライブラリ関数も、他のシステムでは確認が必要です。  また、このページの情報は、at your own riskで 参照して下さい。このページを参考にしたために トラブルが起きたとしても、一切の責任を負いかねます。

Copyright 1999 Motoi Fujita