俺様httpd制作中

プログラム

俺様httpd、ちょこっとずつバージョンアップ中。

ファイルシステムからファイルを読むようにして、Response Headerもそれに従うようにしたり、超簡易CGIも実装して GET に続くパラメーターを解析、表示に反映できるようにした。

設計の参考として、VC6のおまけについてるhttpサーバプログラムを読んでるんだけど、URLをパスに変換する時、返還前と変換後のパスの長さを比べている記述があって、意味が分からずしばらく悩んだ。

グルグルしながら色々調べて、「Windowsパス名の落とし穴」なんてのを見つけてようやく納得。

WEB表示用ディレクトリ+URL名をファイル名として単純に処理すると、表示用ディレクトリ以外の意図しないファイルが読み込めるようになっちゃうのか。ちゃんと対策を入れないと~。