3

Webサイトからアクセスできるファイルタイプ.png、.xml、.pdfを格納するディレクトリ "d:/resources/xxxxx/file-name.xxx"があります。このハードドライブの場所を指す仮想ディレクトリ「resources」がIISに設定され、httpリクエストを介して.png画像にアクセスできるようになっていますが、ハードドライブで.pdfファイルと.xmlファイルを参照しています。位置。これらのファイルはワークフロープロセスの一部であるため、すべて現在のディレクトリ構造のままにする必要があります。

IISは.pngイメージの提供を許可する必要がありますが、セキュリティ上の理由から、.pdfまたは.xmlファイルの提供を許可したくありません。

httpハンドラーを設定してみましたが、パスを特定できませんでした。「/resources/ *」に設定した場合、許可されたファイルタイプを手動で出力する必要があり、少し不安定になりました。パスを「*.pdf」に設定できません。他のディレクトリで.pdfファイルにアクセスできるようにする必要があるためです。

誰かが「www.mysite.com/resources/dir/mypdf.pdf」または「.../myxml.xml」にアクセスしようとした場合にアクセスを制限する簡単な方法を探していますが、それでも許可します。 pngおよび提供される他のすべての潜在的なファイルタイプ。

また、私がこれをすべて間違った方法で行っているかどうかを知らせてください。

4

2 に答える 2

4

構成の終了タグの前にこれを追加してみて、どのように機能するかを確認してください。

<location path="/resources">
    <system.webServer>
        <handlers>
            <add name="PdfForbiddenHandler" path="*.pdf" verb="*" type="System.Web.HttpForbiddenHandler" resourceType="File" preCondition="integratedMode" />
            <add name="XmlForbiddenHandler" path="*.xml" verb="*" type="System.Web.HttpForbiddenHandler" resourceType="File" preCondition="integratedMode" />
        </handlers>
    </system.webServer>
 </location>
于 2012-04-30T15:50:25.237 に答える
1

IIS (7.x、クラシック モード) マネージャー UI を使用するには:

  1. サイトを展開し、「resources」ディレクトリを選択します。
  2. [機能ビュー]で、 [ハンドラー マッピング] をダブルクリックします。
  3. グリッドで、' StaticFile 'という名前のモジュール マッピングを見つけ、この項目をダブルクリックします。
  4. *.png、*.gif など、許可されているファイル名拡張子を入力します。
  5. [OK] をクリックします。

ここに画像の説明を入力

于 2012-04-30T16:34:44.593 に答える