#exec cmdについて

ssiの命令の一つである#exec cmdについて述べる。

#exec cmdは使えない

はい、使えません。 理由はセキュリティーの問題です。

exec cmdはcmdに渡された文字列をコマンドとしてそのまま実行します。 あらゆるコマンドが可能なので、そこには危険なコマンドも含まれます。 ファイルを削除するコマンドなども可能なのです。 よって、exec cmdを許可するにはそれなりのリスクが伴うことになります。

#exec cmdの代替案

もし、cmdでCGIを呼び出しているのだけであれば、#exec cgiや#include virtualなどを 代わりに使用することが可能です。 ただし、これらには違いがあります。 その中でも大きな違いは、実行するカレントディレクトリの違いです。 これについては、#exec cgiで説明します。