VBでCGI作ろう

VisualBasicを用いてCGIプログラミングを行うための解説である。VBのプログラミング能力があることを前提とし、最低限動くことを目的とする。VB特有の問題に絞ると必要な解説内容は非常に少ないのだが、多少の関連情報も付けてみたつもりである。

各ページを見て頂ければ解る通り、説明の分量は非常に少ない。とりもなおさず、簡単にできるということだ。こうなってくると逆にあまり取り沙汰されないってことじゃないか、と思っている。公開以降、結構なアクセスを頂いている。気を良くして多少の追記なども行っていたりする。VBでCGIを作るということが少数派であり、それがために解説するサイトも少ないせいか。



CGI
CGIは、Common Gateway Interfaceの略で、WWWにおいて、クライアント側からのリクエストやデータ送信を受けて処理を行うとか、環境に応じての処理を行うためのプログラムのことである。アクセスカウンタや掲示板など、通常のページとは異なり、動的に変化したり、書き込みを受け付けるものと考えて良い。
CGIがサーバ上でどう動くか、については解説はしない。これくらいは知っていてくれなければ、特にVBでのプログラミングは難しいと思う。
必要な環境
プロバイダを利用してホームページを提供している人にとってはほとんど意味がない。プロバイダによってはCGIの使用を許可しているところもあるが、VBプログラムはシステムへの影響を及ぼす危険なものであるし、バグによるサーバ停止もありえる。CGI許可と言っても、恐らくはPerl等のスクリプト系言語の使用を認めてくれている程度であるはずだ。
自分でリスクを負える環境でのみ、VBによるCGIが可能になる。これはC言語を用いていても同じことになるが、単純に言い換えれば、Windowsベースのサーバを自己管理していることが必要な環境であり条件となる。正式なサーバ以外に開発用のサーバがあることが望ましいのは言うまでもない。
VBでCGIを作る意義
VBでCGIを作成するのは簡単なことではない。VBプログラミングに長けていて、その能力を活かしてCGIを作る場合にのみ意義がある。Windows以外のサーバへの応用を考えても、例えばCが使えるのであれば、VBを選択するのは正解とは言い難い。プログラミングの経験が浅いとか無い場合は、むしろPerlを学んだ方が正しいだろう。
つまりは、「何故VBでCGIを作るのか」をはっきりさせないといけないということだ。勿論、勉強のためとか趣味でとかでも構わない。作るべきページの機能をよく吟味したう上で、JAVAスクリプトを使うとか、ASPを使うとかと言う選択肢もある。と言うか、むしろ推奨したい。
セキュリティ
CGIを運用するということは、サーバのセキュリティが一段と弱まることを意味する。自作のCGIとなると、更に危険度が増すと言うことを忘れないようにして欲しい。イレギュラーなアクセスにも対処できることを配慮し、逆に必要最低限の機能に絞るなどした方が安全である。しつこい繰り返しだが、サーバに関する責任を担わねばならない。

当時の筆者の環境は、WindowsNT4.0サーバ・IIS4.0・VisualBasicVer5である。当解説で得た知識を元にした結果、トラブルを生じたとしても一切責任は負わない。サンプルプログラム等の動作も保証はしないので、全て各自で検証していただきたい。また、問合せ等に関しても、基本的に対応はしないものと考えて頂きたい。

当ページのアップデートは基本的に行わない予定。申し訳ないけど、世の中変わっていくのに付いていけないから。