CGIスクリプトに求められる事柄

2004/03/24

私がperlでCGIスクリプトを作り始めたのは今から7年前のことだ。そう考えるとperlもウェブ用開発言語としてかなり息が長いかもしれない。今ではPHPスクリプトだとか、Windows ServerならASPだとかASP.NETなどいうものもあるが、perlスクリプトによるCGIは多くのサーバが対応していることもあってか、未だに現役だ。

さて、その7年間の間に世間では何か新しい発想が生まれたかというと、「あめぞう」で生まれ「2ちゃんねる」で有名になった「スレッドフロート式掲示板」は、掲示板の大革命だった。ウェブブラウザの機能向上に伴い、Javaアプレットを使用した「お絵描き掲示板」、ファイルアップロード機能を使用した「画像掲示板」や「アップローダ」も登場した。

だが全体的に見るならば、どうも「本当にウェブ管理者が必要としている」「かゆいところに手が届く」機能という点では、まだまだ不満な点も多い。私自身もいろいろ開発や機能追加していきたいスクリプトがあるのだが、多過ぎてなかなか手を付けられない状態である。

まず、7年前と現在で大きく変わった点として、スパム投稿対策が本当に必要となってきた。現状のほとんどの掲示板スクリプトでは、ただ単に投稿を消すだけの管理者機能しかなく、証拠保全は手動で行うしかない。なぜ証拠保全が必要かというと、傾向を把握し、あまりにも悪質なのでチクる時には必要な情報だからである。そこで、管理者しか表示できない「ごみ箱」に移動するという機能があるだけでも楽になるはずだ。

次に、利用者のメールアドレス公開が危なくなってきている。専用プログラムでメールアドレスを収集されて名簿屋に売却されたりマルチ商法の迷惑メールに利用されるだけでなく、ウイルスによってそのメールアドレスが悪用される事例も出てきている。かつては「メールアドレス非公開で意見するなど卑怯者のする事だ」と言われたこともあるが、もうそんな時代ではなくなっている。利用者のメールアドレスを公開することなく、しかし本当に連絡したい人には何かの手段で連絡できるようにする方法が必要だ。これは一つの案だが、会員登録プログラムと連携させ、登録会員相互に限っては私書箱機能でメールアドレスを公開することなく連絡できるようにするという方法があるだろう。メリット・デメリットともあるだろうから、そこらへん考える必要がありそうだ。

携帯電話への対応も需要が高まっている。利用者機能としてだけでなく、管理者機能としても今後必要性が高まるかもしれない。携帯によって迅速な対応が可能になるだろう。

ソースの可読性や再利用性も、もっと改善の余地があるのではないか。私の経験から言えることだが、たとえSQLデータベースを利用したスクリプトを作らないにしても、データベース設計は是非とも学んでおいた方がよいだろう。「主キー」「リレーションシップ」という考えや、表に加える変更とは「行の挿入」「行の更新」「行の削除」の三種類に分けられる等の基礎知識があるだけでも、プログラムロジックを整理しやすくなる。HTMLのマークアップについて言うなら、物理マークアップでとデザインしているスクリプトが未だに多い。HTML4.01やXHTMLの論理マークアップやCSSを活用すれば、表示色や背景色などのデザイン指定を変数に持つ必要がなくなるため、本当にシンプルになる。その上、プログラム本体を書き換えずにCSSの変更だけでデザインの多くを変えることができるのもメリットである。

最後に、今年2004年とは、6月にかの評判悪きLZW特許が切れる年でもある。私が以前から予想していたように、PNGはGIFを完全に置き換えるほどには普及しなかったし、GIFファイルを加工するフリーCGIスクリプトやフリーソフトも多数復活するだろう。アクセスカウンタやグラフ作成等、今年はこの分野でのCGIスクリプトの進展が見られる年になるかもしれない。

*)戻る