如何在asp.net中限制文件夹访问

Asa*_*sad 23 asp.net security

如何在asp.net中限制文件夹访问,就像我不希望任何其他人通过链接http://www.example.com/Uploads在浏览器中看到我的Uploads文件夹

Luk*_*rba 54

对于下一代,对我有用的答案是使用隐藏的段.

如果你想保护例如Uploads文件夹,请转到你的根Web.config并添加到<system.webServer>以下元素:

<security>
  <requestFiltering>
    <hiddenSegments>
      <add segment="Uploads"/>
    </hiddenSegments>
  </requestFiltering>
</security>
Run Code Online (Sandbox Code Playgroud)

这将阻止所有用户直接访问Uploads文件夹及其内容.


veg*_*rby 23

您可以像@klausbyskov提到的那样添加<authorization />到根web.config,如:

<location path="Admin">
    <system.web>
        <authorization>
            <allow roles="Administrator"/>
            <deny users="*"/>
        </authorization>
    </system.web>
</location>
Run Code Online (Sandbox Code Playgroud)

或者您可以使用以下内容将web.config添加到要允许/拒绝访问的文件夹中:

<?xml version="1.0"?>
<configuration>
    <system.web>
        <authorization>
            <allow roles="Administrator"/>
            <deny users="*" />              
        </authorization>
    </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)

当然,替换<allow /><deny />你自己的规则

  • 它们都不适合我(使用MVC4).我看到大多数帖子都提示这个<location>的东西,但是我已经在root上添加了它,在我需要安全的每个文件夹中,在本地和服务器上进行了测试......它永远不会工作......我错过了什么?Uisng MVC 4. (8认同)

Kla*_*sen 4

您应该将 web.config 文件添加到该文件夹​​中,并<authorization>在该文件中添加一个标签,如此处所述