禁止直接浏览文件

时间:2018-08-23 20:54:13

标签: c# asp.net iis

在asp.net Web表单站点中,我希望禁止用户直接浏览目录中存储的文件。例如,我将PDF存储在目录中,如果用户知道该路径,则只需在浏览器地址栏中键入它并拉出PDF。

寻找有关如何阻止该行为的想法,除非它们以与目录名称匹配的特定ID登录。

任何想法表示赞赏。

3 个答案:

答案 0 :(得分:0)

在IIS中,选择您的网站,甚至特定的应用程序。

然后,在nn的右侧,双击“目录浏览”,您将能够禁用/启用目录浏览。enter image description here

答案 1 :(得分:0)

在您的web.config文件中,添加以下内容:

<configuration>
  <location path="Secured">
    <system.webServer>
      <directoryBrowse enabled="false" />
    </system.webServer>
  </location>
</configuration>

答案 2 :(得分:0)

  

除非在目录下登录目录,否则如何禁用目录浏览   特定ID

我认为这是ASP.NET Web窗体。

如果使用ASP.NET成员资格提供程序或表单身份验证,则可以在web.config中为所有用户和所有文件配置Authorization

但是,如果用户和文件不断变化,上述方法将行不通。

这变得很复杂。我将用户及其授权文件存储在数据库等持久存储中。然后将实际文件存储在App_Data文件夹(或私有Blob存储)中。 IIS不会提供App_Data文件夹中存储的文件。然后,每个文件请求都会通过通用处理程序,例如FileHandler.ashx?filename=sample.pdf