扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
首先,我们要明白一个概念就是对于ASP.NET程序来说,它能作什么,都是由 NETWORK SERVER 用户(Win2003)或 ASPNET 用户(Win2000) 所拥用的权限来限定。所以,我们只要对 NETWORK SERVER 用户 或 ASPNET 用户 的权限进行操作。
一、保护各个硬盘不能被ASPNET所访问、操作。
我们有一小段非常简单的程序来对我们进行的权限设置进行检验。这个小程序是列出某个目录下的所有子目录,源码如下:
<%@ Import NameSpace="System.IO" %>
<script language="c#" runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
string[] strings=Directory.GetDirectories("C:\\");
for (int i=0;i<strings.Length;i++)
{
Response.Write(strings[i] + "<BR/>");
}
}
</script>
在没有作任何设置之前,我们运行这段程序,可以很容易的获得正常的结果。如图:
这是我们不愿意看到的。我们只希望ASPNET对自己目录进行操作,而不能干涉其它任意目录。
下面我们就以Win2000系统下为例,一步步的看一下如何来达到这种目地。
首先我们找到F盘,并在其上点击右键>属性 并切换到 安全 选项卡,点击右下方的 高级按钮,进入高级安全设置
如图:
点击 添加 按钮,查找并且选择 ASPNET 用户:
然后点击 确定按钮,这时会出现一个窗口,让您选择此用户所能拥有的权限。在这里,我们将除了 "读取属性" 这个权限不拒绝以外,其它的全部拒绝(不将"读取属性"这一项拒绝是非常重要的,如果将其拒绝,则会导致ASP.NET程序在拥有权限的目录下也不能完成所有的操作(如在自己的目录下创建目录时提示: 未找到路径“X:\”的一部分 这样的错误)
如图:
点击 确定 完成这一系统的操作,我们再运行上面的程序,看看是否还能取出其它目录的子目录列表:
这个时候,系统就会提示出错...这样我们的系统的安全性就得到保证了。
这样,ASP.NET程序就只能对其所在目录进行操作,而无法涉及到其它的文件目录。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者