我有一个Windows Server 2008.我正在使用IIS7添加一些网站。但是所有网络都可以访问外部文件。例如:
@{ DirectoryInfo di=new DirectoryInfo("c:\\");}
@foreach (var item in di.GetFiles())
{
<div>@item.FullName</div>
}
此代码成功枚举文件。我需要配置无法访问外部网站目录。仅使用内部文件和文件夹
怎么做?
答案 0 :(得分:0)
您可以创建一个具有有限权限的新用户,并设置为在此用户下运行应用程序池。
更改AppPool的身份(即指定App Pool正在运行的凭据)
您还可以在web.config文件中设置标识:
<system.web>
<identity impersonate="true"
userName="UserName"
password="Password"/>
</system.web>
答案 1 :(得分:0)
您显示的代码并不意味着外部人员可以访问您服务器上的文件,它显示的是,服务器上的RUNNING程序可以访问服务器上的文件,这是有意义的。
如果要阻止程序访问这些文件,请为不是运行您要阻止访问的程序的用户的用户添加安全权限。
如果您希望确保使用.htaccess(非常基本的安全性)保护目录,或者考虑到Alex的解决方案