CGI って何ですか? CGIといえば・・・・・・・・ 掲示板、アンケート、チャット、ゲーム、オンラインショッピングなどが思い浮かぶと思います。 では、ホームページ作成で使われる HTML とどこが違うのでしょうか? それは、CGI ではオンラインで「書き込み」ができることです。 例えば掲示板では、そのホームページ作者以外の方でも、いろいろと書き込むことができますね! CGI と HTML の関係 ホームページを作成するとき、使うのは HTML です。HTML は、どのようにホームページを表示するかを記述した文書です。 HTML は、サーバ(プロバイダのコンピュータ)上に保管(保存)しておいた HTML ファイルをパソコンに受信し、ブラウザで表示します。ですから,JavaScript や FLASH を用いても、ソース(内容)を見ればいつも同じです。ホームページ作者が更新しなければ、いつまでも同じままですね。 CGI は、サーバ(プロバイダのコンピュータ)上で CGI プログラムを実行し、データを処理して、HTML をサーバ(プロバイダのコンピュータ)上で作成します。つまり、毎回のようにソース(内容)の異なるページを作成できるのです。
サーバ(プロバイダのコンピュータ)で HTML を作成する CGI は HTML とは別物ということです。したがって、HTML と同じ感覚では CGI を作成できません。 CGI を使えないこともあり! CGI は使い方次第で、あなただけではなく、プロバイダも迷惑をかけてしまうこともあります。また、正しい使い方をしても HTML に比べ処理が重く、サーバーに負荷をかけます。 そのため、CGI の使用を禁止するプロバイダは多く存在します。多くの無料プロバイダは CGI が禁止になっているのは、そのためなのです。 また、CGI が使用できるとしても、その自由度はさまざまで、業者によって違うのです。 例えば、
CGI に関する規約・禁止事項などをよく確認しましょう。 CGI はときには大変危険! CGI によって誰でも書き込むことができるようになります。 言い方を変えれば、あなたのホームページ領域を、誰でも追加・修正・削除をできるようになるわけです。 善意の方なら良いのですが、悪意を持った人でも同じことができるわけです。 下手な CGI を設置すると痛い目にあってしまうことがあります。 例えば、
CGI の言語 CGI はテキストベースのプログラムなので、作成や編集が簡単に出来るのが特徴です。 CGI は、その用途に応じて、さまざまな言語で実現できます。したがって、どんな言語で CGI を実現しているのか、教えてあげなくてはいけません。 通常,配布されている CGI は Perl と呼ばれる言語で書かれていることが大半です。 Perl とは以下の頭文字をとっています。 Practical Extraction and Report Language (実用データ取得レポート作成言語) Pathologically Eclectic Rubbish Lister (病的折衷主義のがらくた出力機) そこで,CGI に「Perl言語です」と教えてあげる必要があるのです。 Perl言語で書かれた CGI ファイル(〜.cgi)をエディターで開くと、先頭行に Perl のパスがあります。 Perl のパスは通常、以下のように書かれています。 #!/usr/local/bin/perl または、 #!/usr/bin/perl Perl のパスは,CGI に「Perl言語です」と宣言しているのです。これががあることで,このファイルを CGI で実行できるようになります。 したがって、この宣言がが間違っていると、サーバ(プロバイダのコンピュータ)は、なんのファイルかわからないので、「サーバーエラー」というエラーを起こし、CGI は動作しません。 Perl のパスはプロバイダによって違うことがよくありますので、契約書などをみて必ず確認しましょう。 パーミッション(属性)はなんであるの? インターネットは、たくさんの人が利用しているので、それなりの仕組みが必要です。 なぜ,そんな面倒くさいことをするのでしょう? 理由は、あなたのファイルを他の人が書き換えたり、削除できたら困りますよね?! 例えば、トップページが他の人のページになってしまったり、ホームページ全てが消されていたり・・・・・ そこで、パーミッション(属性)で制限するのです。
通常、パーミッションはあなたにのみ、読み、書き、実行ができるようになっており、グループ、その他の人には読みだけができるようになっています。 そのため、他の人はあなたのページを見ることはできても、あなたのページを書き換えたりできなくなっているわけです。 しかし、CGI を使うためには、この制限を変更して「誰でも書いていいよ」などの設定にしなくてはいけません。 通常、このパーミッションは、数値で [ 755 ] [ 644 ] などと表現されていています。 |