システムプログラム(第9週): SSI (Server Side Include)

                                       筑波大学 システム情報工学研究科 
                                       コンピュータサイエンス専攻, 電子・情報工学系
                                       新城 靖
                                       <yas@is.tsukuba.ac.jp>

このページは、次の URL にあります。
http://www.coins.tsukuba.ac.jp/~syspro/2007/No9_files/ssi.html
あるいは、次のページから手繰っていくこともできます。
http://www.coins.tsukuba.ac.jp/~syspro/2007/
http://www.coins.tsukuba.ac.jp/~yas/

SSI (Server Side Include)

SSI (Server Side Include) は、CGI よりも手軽にHTML の途中に、他 のファイルの内容やプログラムの実行結果を埋め込むための仕組である。

例1: ファイルの内容の読込み

<!--#include file="filename"-->
例2: プログラム/bin/calの実行結果の埋め込み
<PRE>
<!--#exec cmd="/usr/bin/cal"-->
</PRE>

例3:ファイル ssi.html の更新時刻の表示
最終に変更されたのは、
<!--#config timefmt="%Y/%m/%d %H:%M:%S"-->
<!--#flastmod file="ssi.html"-->
です。
timefmt の形式は、 ライブラリ関数 strftime() と同じ。 その他に、ファイルの大きさを得るための#fsize file="...", CGI を実行する #cgi vmf="...",環境変数を表示する #echo var="...",がある。

SSIとセキュリティ

SSI を使う時にも、CGI と同様に、 セキュリティに気をつける。 特に、 #include#exec で、大事なファイルが盗まれないように、細心の注意を払ながら利用する必要 がる。

.htaccessでの設定

一般的には、SSI は標準では利用できないようになっていることもある。 許されている場合、.html で利用可能にする方法には、次のような方法がある。
AddHandler server-parsed .html
Options +Includes
拡張子 .shtml の場合に動作するようにしている場合もある。
Last updated: 2007/06/12 20:05:21
Yasushi Shinjo / <yas@is.tsukuba.ac.jp>