0

質問:

私のASP.NETWebソリューションには、redlinesというディレクトリがあります。

その中に、このweb.configを入れて、ディレクトリを閲覧可能にします。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <directoryBrowse enabled="true" />
    </system.webServer>
</configuration>

今では正常に動作します。しかし、redlinesディレクトリ全体をApp_Dataに移動し、フォルダredlinesをブラウザ化したい場合、HTTP403を取得します。

同じweb.configをApp_Dataにコピーします。これは役立つかもしれないと思ったのですが、そうではありませんでした。

どうしたの ?(IIS開発サーバー、Visual Studio 2010)

4

2 に答える 2

6

App_Dataは保護されたフォルダであるため、URLからアクセスすることはできません。これはASP.NETシステムに組み込まれていますが、オーバーライドできるかどうかわかりませんか?などの他の予約済みファイルをダウンロードしようとしても同じですweb.config

このApp_Dataフォルダは、機密データを保存するように設計されています。そこに存在するファイルを提供したい場合は、HttpHandlerを使用してファイルを提供できます。

于 2011-07-22T07:22:36.767 に答える
1

App_Dataは隠しフォルダーです。したがって、その中のすべてが非表示になります。IISマネージャーの[要求のフィルタリング]コントロールパネルで、サイトまたはルートを確認すると、ブロックされているファイル拡張子とディレクトリがわかります。

そこで何かを変更することは絶対にお勧めしません。アプリを保護するためにそのように設定されています。

リスクを受け入れることができる場合は、先に進んでください。そうでない場合は、別の解決策を検討してください。フォルダを別の場所に置いたり、フォルダから読み取り/書き込みするものを作成したりするようなものです。

サイモン

于 2011-07-22T09:15:30.830 に答える