0

ユーザーがブラウザ経由で参照したくないファイルを含むフォルダが自分のサイトにあるので、これを web.config に入れます

<location path="documents">
    <system.web>
      <authorization>
        <deny users="*"/>
      </authorization>
    </system.web>
    <system.webServer>
      <directoryBrowse enabled="false" />
    </system.webServer>
  </location>

問題は、私のサイトの一部のページにこれらのドキュメントへのリンクがあり、ユーザーがクリックしたときにそれらのドキュメントを表示できるようにしたいことです。問題は、現在のところ、これらのリンクをクリックしてもドキュメントが表示されないことです。これは矛盾した状況であることは理解しています。私の唯一の利点は、ユーザーがリンクをクリックするとログインすることです。これを解決できる方法はありますか?

4

1 に答える 1

2

私がそれを行う方法は、ユーザーの資格情報とアクセスをチェックする、取得しようとしているファイルの ID をパラメーターとして受け取るページを使用することです (それ自体がセキュリティ違反でない場合は、ファイル名自体も問題ありません)。コードビハインドでファイルに書き込み、出力をファイルの内容で上書きします (サーバー側にロードされます)。

この方法では、クライアントは機密フォルダーにアクセスする必要がまったくなく、すべての通信は Web ページと資格情報チェック アルゴリズムを経由します。誰かから有効なリンクを取得しても、そのリンクにアクセスできない場合でも、要求拒否画面 (またはコードで選択したもの) が表示されます。

于 2012-05-03T17:01:30.307 に答える