誰かがPDFに直接アクセスするのを防ぐ必要があります。代わりに、アプリ自体からプルすることだけを許可します。これはどのように行うことができますか?
4 に答える
これをトップレベルのWeb.configに追加して、Reportsというフォルダーをブロックします(フォルダー名はそこにあります)。これにより、アプリケーションはReports / file.pdfにアクセスできますが、yoursite.com / Reports/file.pdfへの外部リクエストはブロックされます。
<configuration>
<system.webServer>
<security>
<requestFiltering>
<hiddenSegments>
<add segment="Reports" />
</hiddenSegments>
</requestFiltering>
</security>
</system.webServer>
</configuration>
これを行うには2つの解決策があります。
1-「UsersUploads」フォルダをウェブサイトディレクトリの外に置くことができるので、ウェブサイトが「c:\ website \ example.com」にある場合は、IISのように「UsersUploads」を「c:\UsersUploads」に置くことができます。このフォルダとそのファイルを制御することはできません。また、Webサイトのコードは、通常の物理パスとしてこのディレクトリにアクセスできます。
2-IISによるこのフォルダーの提供を停止します。
IISは、デフォルトでは、App_Data、App_Code、bin、App_GlobalResourses、App_LocalResources、Web.configなどの一部のWebサイトフォルダーおよびファイルをサーバーしません。
ファイルをapp_dataフォルダーに入れてから、を使用しHttpHandlerてファイルを提供します。非表示にして見栄えを良くしたい場合は、URL書き換えを使用できます。
誰へのアクセスも拒否するようにフォルダの権限を設定します。システム管理者にアカウントを作成して、フォルダへの読み取りアクセス権を付与するように依頼してください。次に、新しいアカウントを使用するようにweb.configファイルで偽装を設定します。
これを読む
http://msdn.microsoft.com/en-us/library/aa292118(VS.71).aspx