Webサイトの.dllファイルへのアクセスを拒否する方法(IIS 6と7の両方)
-
03-07-2019 - |
質問
http://mysite/myfolder/myfile.dll のようなURLを使用する場合、ダイアログ「このファイルを開きますか、それとも保存しますか」を取得します。もちろん、dllをダウンロードして逆アセンブルできるようにしたくありません。このようなファイルに直接アクセスする人々を拒否するにはどうすればよいですか?
解決
すべてのdllを拒否するのはasp.netサイトでは抜本的です。Silverlightなどではクライアントdllを使用するため、クライアントブラウザでダウンロードできる必要があります。
IIS管理コンソールまたは管理APIを使用して、dllのファイルまたはディレクトリの認証を無効にすることができます。
すべての認証オプションのチェックを外すと、アクセスが拒否されます。
他のヒント
通常、これはデフォルトでは許可されていません。 IISマネージャーに移動してWebサイトを編集する場合は、「スクリプトソースアクセス」のチェックを外す必要があります。 DLLは、禁止されているファイル拡張子のリストにも含まれている必要があります。
簡単な答えは、Webルートの下に提供したくないファイルがないことです。
IIS 6または7を個人的に知りませんが、Apacheでは、ディレクトリがWebルートとして指定されています。 \ site \ htdocs、およびそれ以上は外部からアクセスできません。 DLLファイルをその階層から除外すると、アクセスできなくなります。
適切なWindowsファイルのセキュリティとアクセス権を設定します。
たとえばasp.netを使用している場合、ASPNETアカウントを除くすべてのユーザーの.dllへのアクセスを拒否する必要があります。
!IUSR_xxxアカウントには、.dllに対する権限がありません!
何らかの理由でIISのスクリプトマッピングを変更できない場合は、 HttpForbiddenHandler を使用できます p>