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

随着基于.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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

Windows Server 2008 R2 Server Core

在微软Windows Server 2008中开始提供一个全新的Server Core模式,它是一个最小限度的系统安装选项,只包括安全、TCP/IP、文件系统、...

32410
来自专栏IT米粉

我的Markdown的利器——Markdown Here、有道云笔记、iPic

Markdown逐渐成为大家文章编辑的首选,这里推荐两个比较冷门的Markdown工具。 用什么当做Markdown的主力工具? 网上有很多人推荐的Markdo...

3334
来自专栏张善友的专栏

.NET Web 自动化测试工具

Inspired by Watir development of WatiN started in December 2005 to make a simila...

1909
来自专栏知晓程序

小程序无法添加到桌面?这个方法一定能帮你解决 | 小程序问答 #52

只需在小程序界面点击右上角的「...」,就可以找到「添加到桌面」选项。添加后,我们就可以通过桌面的快捷方式进入小程序,无需再从微信启动。

1332
来自专栏木子昭的博客

新年喜庆的Sublime主题Sublime3 主题安装Jetbrain系列主题推荐

Sublime3 主题安装 1. 下载Sublime text3 https://www.sublimetext.com/3 2. 为sublime安装Pack...

6218
来自专栏葡萄城控件技术团队

如何在 ASP.NET MVC 中集成 AngularJS(1)

介绍 当涉及到计算机软件的开发时,我想运用所有的最新技术。例如,前端使用最新的 JavaScript 技术,服务器端使用最新的基于 REST 的 Web API...

3276
来自专栏伪君子的梦呓

优雅地使用 PyCharm

0.0 前言 昨天教了大家安装和使用PyCharm 后,有朋友留言说 PyCharm 使用的语言是英文,看得头晕,该怎么设置成中文。那我今天就写一个教程,教大...

7365
来自专栏张善友的专栏

Office Web Apps

Office Web Apps 将为 Word、Excel、PowerPoint 乃至 OneNote 的桌面版本提供基于 Web 的版本。当然,在 Web 上...

29610
来自专栏哲学驱动设计

使用 NuGet 下载最新的 Rafy 框架及文档

为了让开发者更方便地使用 Rafy 领域实体框架,本月,我们已经把最新版本的 Rafy 框架程序集发布到了 nuget.org 上,同时,还把 RafySDK ...

2048
来自专栏deed博客

Windows 7与Windows XP双系统安装方法汇总

1544

扫码关注云+社区