閲覧者の投稿などの双方向通信: CGI/ASP 安倍 06/4/29, 08/6/15改

 写真や記事を閲覧者が直接ホームページに投稿したり、注文書、アンケートなど、閲覧者とサーバー間の双方向通信機能はCGI(Common Gateway Interface)、あるいはASP(Active Server Pages ※4)が必要です。 これらはサーバ上で動作するため、トラブル防止上プロバイダでは種々の制約を設けています。
多くの場合、指定のものを使うことになっており、ユーザが自由に作成することを禁止しているプロバイダもあります。

 CGI の使用方法

次の3つの方法があります。

1法: 少々難解だが自由度がかなりある。 旭友会「写真館」で利用

Perl 言語で書かれた CGI プログラムをネットや解説書から入手 して自分が利用しているサーバーに Upload する。
最近は多くのプロバイダがユーザ選定のCGI 使用を認めていますのでネットで入手できるCGI が利用できます。
入手先は 「Kent-web」  http://www.kent-web.com/  が評判いいようです。

「 旭友会ホームページ 」の写真館は、ここの CGIプログラム:「掲示板」サンプル集にある 特殊系: Joyful Note を若干変更して使いました。
ここも、このCGIプログラムを使用しています。
本法はPerl 言語を使うので、2法、3法 と比べて設定やメンテナンスがかなり面倒です。 例えば、

プロバイダ固有の規則がある。 CGIを設置するサーバーフォルダの名前や階層に指定がある場合が多い。 ( 下の ※1) 「Uploadするサーバーフォルダー」 参照 )   
各プロバイダには、プロバイダごとのCGIマニュアルがあります。

サーバーにUploadしたファイルはアクセス権(Permission)の設定が必要で、この理解が少々面倒。 ( 下の ※2) 「アクセス権」 参照 )

例えば、nifty(一般会員用)では、index.htm の上の階層フォルダの「cgi-bin」 にCGIファイル入れ、そこからアクセスする画像は通常のフォルダに入れねばならない。
一方、nifty(Hosting) では、CGI ファイル を入れるフォルダの階層や名前の指定はないが、cgi-bin というフォルダ名だけはシステムが使うのでその名をユーザが使うことは禁止されている。
楽天の無料サーバーの場合は index.htm と同一階層に「cgi-bin」 という名のフォルダを設置してそれに入れる。
CGI では、自分のPCではなく、サーバー内にファイル生成します。 ユーザーが記入した Logファイルは、サーバー内にのみ存在するから、作業中にウッカリ別のデータで上書きするとデータ全てが消滅します。 無料サイトを利用する場合は、時々自分の PC に BackUp する配慮も必要です。
 ・

CGI の動作確認は自分のPCではでません。 本番前に動作確認するには、Perl 言語の変換処理ができる PC またはサーバーが必要です。
そのような本番前の確認ができない場合はオリジナルプログラムの変更は最小限にとどめる必要があります。

メールと同じく、掲示板にはいかがわしい広告の迷惑投稿が殺到することが多い。 
この問題はこの1法に限らず、他の方法でも発生する。 対策は下の ※3) 「掲示板での迷惑投稿対策」 参照

2法: 自由度はあまりないが簡単

・これを使ったアクセスカウンタ例
1   (nifty仕様)

アンケート例  (nifty仕様)

3法: 最も簡単

 ※1)上記1法: Upload するサーバーフォルダー (Nifty の場合) 

上記1法の場合、通常とは違うフォルダ(ディレクトリ)にUpload する必要がある。
Nifty の場合、Hostingサーバーと、一般会員向けサーバーでは異なる。

【フォルダ構成】

・Nifty Hostingサーバー:

   index.htm
    |
     +--
     |
  cgi-bin(ユーザ使用禁止)
    |
  cgi2(ユーザ用) index.htmと同列階層フォルダに関連ファイルをUploadする。
            会員投稿写真館の画像データもこの中にある。

・Nifty 一般サーバー:  

  homepage
    |
     +--index.htm
    |     |
    |      +--会員投稿写真館の画像データはこの階層のフォルダを指定。
    |      +--
     | 
  cgi-bin(ユーザ用) index.htmよりも上の階層フォルダに関連ファイルをUploadする。

 ※2)上記1法: アクセス権(Permission)

上記1法を使った旭友会写真館でのアクセス権の設定(Homepage Builder のFTPソフト使用)。

   

 

 

 

 

アクセス権:
  d:ディレクトリ r::読み込み w:書き込み x:実行
  (左列)本人---(中列)グループ---(右列)他人

写真館の場合、ディレクトリ内は通常のアクセス権

 

 

   
 上記1法: 掲示板での迷惑投稿 対策

メールと同じく、掲示板にはいかがわしい広告の迷惑投稿が殺到することが多い。 
対策をとらないで放置するといかがわしい投稿が生じる。

対策:

旭友会写真館の場合、


※4)
ASP(Active Server Pages): MS社がWindowsサーバ用として開発したCGI代替プログラムで、VBScriptや、JavaScript などのスクリプトをサーバ側で動作させるものです。
最近のWindowsサ-バ-の多くはこのASPが使われているようです。 ASPの一般的解説は下記をクリックして参照してください。
http://www.yasch.com/asp/

 

 

 

 

 

 

 

 

 

 


inserted by FC2 system