在asp.net Web表单站点中,我希望禁止用户直接浏览目录中存储的文件。例如,我将PDF存储在目录中,如果用户知道该路径,则只需在浏览器地址栏中键入它并拉出PDF。
寻找有关如何阻止该行为的想法,除非它们以与目录名称匹配的特定ID登录。
任何想法表示赞赏。
答案 0 :(得分:0)
答案 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
。