水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > Server.MapPath はドキュメントルートの外に出られない

Server.MapPath はドキュメントルートの外に出られない

2005年4月3日(日曜日)

Server.MapPath はドキュメントルートの外に出られない

hatomaru.dll のデータの置き場所などをいろいろ変えようと思っているのですが、データディレクトリをドキュメントルート (IIS では「ホームディレクトリ」タブの中で設定するもの) の外にしようとしたら、Server.MapPath() しているところでこんな例外を喰らいました。

System.Web.HttpException

最上位ディレクトリの先頭に .. を使用することはできません。

メッセージが分かりにくいですが、ドキュメントルートから ../ で外に出るようなパスだと例外になる模様。どうも System.Web.HttpServerUtility.MapPath メソッドではドキュメントルートの外に出るようなパスは一様に例外となるようですね。たぶんセキュリティ上の理由で意図的にそのようにしているのだろうと思いますが、ちょっと面倒ではあります。

関連する話題: .NET / ASP.NET

最近の日記

関わった本など