« パソコン通信 | メイン | 自作CGI運用開始 »

2005年02月20日

●メモ:レンタルサーバSSIの制限

この日記ページの問題点(注:ブログ化以前)を少しでも改善するため,rubyの勉強もかねてCGIを書き始めている。自分でCGIを書くのはまったく初めてのことなので,果たして完成するのかどうかも不明だが,少しずつ動作確認をしながら進めているところだ。その動作確認の過程で判明したのだが,SSIでCGIを実行する場合,<!--#exec cmd="./foo.cgi"-->とするのだが,この際cgiファイルの場所は相対参照で,かつ同レベルか下位ディレクトリでなければならないという制限があるようだ。例えばcgiが一階層上のディレクトリにある場合,cmd="../foo.cgi"のように書いて実行させることができない。つまり,上位のcgi-binに置いたcgiプログラムを下位ディレクトリのhtmlファイルから使いまわすことが出来ないことになる。これでは不便だが,セキュリティの問題で上位ディレクトリの指定や絶対パスでの指定をサーバ側で禁止しているということらしい。これまた,わかるまで時間がかかってしまった。ちなみにCGIプログラムの実行は本来#exec cgiを使うような気がするのだが,<!--#exec cgi="./foo.cgi"-->としても動かない。なぜだろう・・・。