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

时间:2010-09-23 09:08:36

标签: asp.net security

如何在asp.net中限制文件夹访问 比如我不想让任何其他人通过链接http://www.example.com/Uploads

在浏览器中看到我的上传文件夹

4 个答案:

答案 0 :(得分:49)

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

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

<security>
  <requestFiltering>
    <hiddenSegments>
      <add segment="Uploads"/>
    </hiddenSegments>
  </requestFiltering>
</security>

这会阻止所有用户直接访问上传文件夹及其内容。

答案 1 :(得分:21)

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

<location path="Admin">
    <system.web>
        <authorization>
            <allow roles="Administrator"/>
            <deny users="*"/>
        </authorization>
    </system.web>
</location>

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

<?xml version="1.0"?>
<configuration>
    <system.web>
        <authorization>
            <allow roles="Administrator"/>
            <deny users="*" />              
        </authorization>
    </system.web>
</configuration>

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

答案 2 :(得分:4)

您应该将web.config文件添加到所述文件夹,并在described here中将<authorization>标记放在文件中。

答案 3 :(得分:-1)

您可以在IIS设置中管理文件夹浏览。

  • 打开IIS管理器并导航到要管理的文件夹。

  • 在“功能视图”中,双击“目录浏览”。

  • 在“操作”窗格中,单击“启用/禁用”。

这适用于IIS7。

您也可以使用命令行。

 appcmd set config /section:directoryBrowse /enabled:true|false

希望这有助于...
快乐编程,