前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >创建安全的ASP.NET虚拟主机

创建安全的ASP.NET虚拟主机

作者头像
张善友
发布2018-01-29 15:25:14
2.5K0
发布2018-01-29 15:25:14
举报
文章被收录于专栏:张善友的专栏张善友的专栏

随着基于.net平台的应用程序的数量级增加,提供.net空间的虚拟主机商也越来越多,但是有不少的虚拟主机提供商对.net环境的权限分配并不是非常的熟悉,从而导致.net的程序不能很好的运行,下面我们就来看一下如何来作一个即能让用户拥有自己目录的最大权限,又能让用户无法对除自己所在目录以外的其它目录进行操作访问的权限配置。

    首先,我们要明白一个概念就是对于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程序就只能对其所在目录进行操作,而无法涉及到其它的文件目录。 如何让ASP.NET程序拥有其所在目录的所有权限请参考:http://www.xfoksite.net/Support/3/2005/01/24/58.htm

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2005-11-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
轻量应用服务器
轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门开源软件打包实现一键构建应用,提供极简上云体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档