如何在asp.net中限制文件夹访问 比如我不想让任何其他人通过链接http://www.example.com/Uploads
在浏览器中看到我的上传文件夹答案 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
希望这有助于...
快乐编程,