トップ > Perl Tips > SSIとは


 ■ SSIとは

SSIとは、Server Side Include の略です。
HTMLの中に以下のようなものを挿入することにより、
サーバー側がその場所にコマンドの結果などを置き換えてくれる機能です。

<!--#exec cmd="/cgi/cmd" -->


SSIを使用することでこのようなことができます。
・すべてのファイルに同じヘッダーやフッターを表示できる。
・ファイルの最終更新時刻などを表示できる。
・外部コマンドの実行結果をページの中に表示できる。


<CGIと一緒に用いられる、主な使用例>
<!--#include file="~" -->
<!--#include virtual="~" -->
指定したファイルの中身を読み込んで表示します。
file="~" にはファイル名を指定します。
../ や絶対パスは使用できない場合があります。
virtual="~" には指定するファイルの仮想パス名
("http://サーバー名/パス名"の"/パス名"の部分)を指定します。

<!--#config timefmt="%Y/%m/%d %X" -->
<!--#echo var="LAST_MODIFIED" -->
ファイルの最終更新時刻を表示します。
この場合、****/**/** **:**:** と表示されます。

<!--#exec cmd="~" -->
<!--#exec cgi="~" -->
~ で指定したコマンドやCGIを実行して、結果を表示します。


<注意点>
・動作が遅い
これは、サーバーがほとんどのファイルに対して、SSIの構文解析や処理を行うため、パフォーマンスに影響を与えます。
・セキュリティーが弱い
例えば、HTMLタグを許可している掲示板で
「<!--#exec cmd="悪意のあるコマンド"-->」と書き込まれた時に大変なことになります。


応用編:テキストカウンタを作ろう




トラックバック

このエントリーのトラックバックURL:
http://easycgi.xrea.jp/mt-tb.cgi/47