我有一个网站,其中包含一些客户无法直接访问的数据。我把它放在文件夹中
root
|-Confidential
|-Test.txt
|- web.confid
|- _PageStart.cshtml
web.config
..我想要做的是,拒绝用户对整个文件夹的访问权限,以便直接访问的所有内容都会被重定向到某个地方以显示简单的404。
我甚至尝试使用web.config文件,因为Stack Overflow中有一个解决方案,用于创建一个新的web.config文件,然后将其写入。
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow users="admin" />
<deny users="*" />
</authorization>
</system.web>
</configuration>
但它对我不起作用。然后我尝试使用另一种方法替换文件的名称,并将其写为 _Test.txt 。但我想,ASP.NET只控制.cshtml文件和其他ASP.NET文件以这种方式隐藏。
应用的另一种方法是,通过创建一个名为 _PageStart.cshtml 的新页面然后编写此代码来将错误代码设置为404
@{
Response.StatusCode = 404;
}
..但又来了!该页面可以直接访问。经过所有这些方法,我来到这里,找到解决这个问题的方法。如何在ASP.NET中拒绝访问所有文件或整个文件夹。
答案 0 :(得分:2)
将此添加到您的<sysyem.webserver>
部分
<security>
<requestFiltering>
<hiddenSegments>
<add segment="folderName"/>
</hiddenSegments>
</requestFiltering>
</security>
答案 1 :(得分:1)
我的网站包含一些客户无法直接访问的数据。
实现此目的的最简单方法是将数据放在App_Data文件夹中。这就是它的用途。