買い物かご 掲示板 メール DB 利用規定 FAQ サポートBBS


次(相対パスと絶対パス)
前(CGIとは?)
最初に知るべきこと
CGIことはじめ
CGI設置ノウハウ
Basic Top
Make CGI

Home



SSI --CGIことはじめ--

■SSI

SSIとはServe Side Include (サーバー・サイド・インクルード)の略で、アクセスカウンターや、アクセス解析スクリプトなどに利用されます。

SSIでできることとしては・・・

■最終更新日の表示--<!--#echo var="LAST_MODIFIED"-->

トップページに「最終更新日:1999年6月10日」のような最終更新日時を表示させることができます。簡単なコマンド(命令)文を、更新日を表示したい場所に挿入します。

最終更新日:

上の最終更新日はSSIを使っています。
上記のコマンドを入力しただけでは、英語表記の日時が表示されます。この表記を日本語にしたい場合は、<!--#config timefmt="%Y年%m月%d日"-->を追加します。


<!--#config timefmt="%Y年%m月%d日"-->は<!--#echo var="LAST_MODIFIED"-->よりも先に入力します。


■ファイルのサイズを表示する--<!--#fsize file="xxx.gif"-->

■他のファイルの内容を取り込む--<!--#include file="xxx.html"-->

■他のスクリプトを実行する

アクセスカウンタやアクセス解析などのスクリプトを実行する時に利用されます。
それぞれのスクリプトに指定方法が書かれていますね。

SSIを動作させるには

SSIは、サーバー側の負荷を強いること、セキュリティ上の問題を起こす可能性があることにより、許可していないプロバイダも存在します。

SSIを許可していないプロバイダでも、アクセスカウンタを設置することができる場合があります。アクセスカウンタは、基本時にSSIを使用する(一部CGIで動作するカウンタもありますが、設置方法が複雑です)ので、SSIの使用を許可していないプロバイダでは、会員向けアクセスカンウンターを専用のサーバーに用意することで、アクセスの増加によるサーバーダウンが起きても、ユーザーのホームページそのものには影響を与えないよう、対応しています。

SSIスクリプトを設置する前に、必ずプロバイダに、SSIが利用できるかどうか、制限があるかどうかを確認します。許可していない場合は諦めましょう。

許可している場合でも、設置数の制限、使えるコマンドなどに制限がある場合もあります。制限がない場合でも、SSIの性質上、サーバー側に何らかの障害が起こるスクリプトが設置され、サーバーがダウンした場合、損害賠償責任を問われることがありますので、設置には十分に注意して下さい。

また、CGIの掲示板にアクセスカウンターを表示しようとしてSSIのタグを入れても表示されません。CGIスクリプトの中ではSSIは動作しないからです


SSIとCGIの違い

CGIを動作させるには,何らかの手段でCGIを呼び出す必要があります。普通はボタンを押す(フォームメールなど)、とかリンクを貼って直接CGIプログラムを表示させる(掲示板やチャットなど)方法が使われます。

ところが、アクセスカウンターではこの方法は使用できません。アクセスカウンターは、ホームページ閲覧者が何もしなくても、自動的に「あなたは何人目の訪問者だよ〜」ということを教えてくれなくちゃアクセスカウンターではありません。まさか、表示するたびに「ボタンを押せ」なんて言えませんし・・・。

そこで、SSIの登場となるわけです。
SSIは特定のコマンド(命令)をHTMLに記入しておくだけで利用できます。

「Web裏技」のアクセスカウンターの場合・・・
カウンター用のスクリプトを設置した後、カウンターを表示させたい場所に

<!--#exec cmd="./count/count.pl"-->

と記入するだけで使用できるようになります

<!--は、HTMLのコメントの始まりを意味し、-->はコメントの終わりを意味していますから、もしSSIが使用できないときは、この部分をコメントとして無視してくれるので、スクリプト文がそのまま表示されることはありません。

「#exec」とは、コマンド(命令)を実行せよと言う意味です。

「./count/count.pl」とは、カウンター用のスクリプトの位置を示しています。

要するにカウンターを表示させたいページから見て./countフォルダにあるcount.plというスクリプトを実行せよ。と言っているわけ。

CGIが、来訪者がボタンやリンクをクリックするなどの動作を要求するのに対して、SSIは、<!--# -->で囲まれた文を読み込むと、自動的にスクリプトを作動させてくれるのです。


SSIでやってはいけないこと

SSIでは、UNIXの各種コマンドを呼び出し、実行することができます。ファイルを削除したり、ファイル一覧を表示させたりと、いろいろ便利なのですが、通常、不特定多数の人が閲覧するホームページ上で、UNIXのコマンドをページに埋め込むことは禁止されています。

例えば、いらなくなったHTMLファイルを削除するために、いちいちFTPでアクセスするのは面倒だし、電話代もかかるから、といって、ファイル一覧を表示させ、指定したファイルを削除するようなスクリプトを作ったりすると・・・

誰かに、あなたのホームページを削除されてしまうかもしれません。
SSIは、アクセスカウンターやアクセス解析に使うだけにとどめましょう。最終更新日の表示も、JavaScriptでできるので、わざわざSSIを使用する必要はありません。


Web寺子屋 OGIPOGI E-mail:info@web-terakoya.net
Copyright© 2000-2001 OGIPOGI All Rights Reserved.