Server.MapPath はドキュメントルートの外に出られない
2005年4月3日(日曜日)
Server.MapPath はドキュメントルートの外に出られない
hatomaru.dll のデータの置き場所などをいろいろ変えようと思っているのですが、データディレクトリをドキュメントルート (IIS では「ホームディレクトリ」タブの中で設定するもの) の外にしようとしたら、Server.MapPath() しているところでこんな例外を喰らいました。
System.Web.HttpException
最上位ディレクトリの先頭に .. を使用することはできません。
メッセージが分かりにくいですが、ドキュメントルートから ../ で外に出るようなパスだと例外になる模様。どうも System.Web.HttpServerUtility.MapPath メソッドではドキュメントルートの外に出るようなパスは一様に例外となるようですね。たぶんセキュリティ上の理由で意図的にそのようにしているのだろうと思いますが、ちょっと面倒ではあります。
- 「Server.MapPath はドキュメントルートの外に出られない」にコメントを書く
- 前(古い): ケータイサイトも脆弱
- 次(新しい): 超立体マスクがない