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

                                       筑波大学 システム情報系 情報工学域
                                       新城 靖
                                       <yas@cs.tsukuba.ac.jp>

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

SSI (Server Side Include)

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

拡張子 .shtml を持つファイルで SSI が有効になるように設定していることが 多い。設定ファイルには、次のようなものが含まれている。

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

Options +Includes

利用例1:ファイルの内容の読込み。複数のファイルで共通のフッタを付ける。

<H1>見出し</H1>

<!--#include file="footer.txt"-->
[実行例]

利用例2:ファイル ssi-date.shtml の更新時刻の表示する。 timefmt の形式は、 ライブラリ関数 strftime() と同じ。

<!--#config timefmt="%Y/%m/%d" -->
今日は、<!--#echo var="DATE_LOCAL" --> です。

このファイルは、 <!--#flastmod file="ssi-date.shtml" --> 
に編集されました。
[実行例]

利用例3:プログラム/bin/calの実行結果の埋め込む。

<PRE>
<!--#exec cmd="/usr/bin/cal"-->
</PRE>
(coins では動作しない。)

その他に、ファイルの大きさを得るための#fsize file="...", CGI を実行する #cgi vmf="...",環境変数を表示する #echo var="...",がある。

Apache チュートリアル: Server Side Includes 入門(2.4) 参照。

SSIとセキュリティ

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


Last updated: 2022/07/06 17:40:48
Yasushi Shinjo / <yas@cs.tsukuba.ac.jp>