ASP.NET虚拟主机的重大安全隐患

http://tech.ddvip.com   2006年08月29日    社区交流

本文详细介绍ASP.NET虚拟主机的重大安全隐患

  在删除文件时,我们需要用到File.Delete(string path);

  注意:File 类的所有方法都是静态的,因而无需具有目录的实例就可被调用。

  private void FileGrid_DeleteCommand(object source,
System.Web.UI.WebControls.DataGridCommandEventArgs e) {
TableCell ItemCell = e.Item.Cells[1];
//得到此文件名称的字符串
string item = ItemCell.Text;
//删除此文件
File.Delete(item);
//删除后进行数据绑定以更新数据列表
DirGrid.DataBind();
}

  通过上边的主要方法我们在页面上实现了一个删除某一个子目录或者文件的功能,此功能在测试时需要慎重使用,一旦删除无法通过常规方法恢复。其他如目录或文件改名、修改内容等方法都可以在此程序基础上添加相应的功能,实现方法也很简单。各位爱好者可以通过添加相应功能,使之扩充为一个基于Web的服务器文件管理系统。我们也可以由此看到这个程序的危害性,一个没有对此安全隐患采取防范措施的服务器的文件系统就都暴露在了使用此程序的用户面前。

  程序三:显示文件属性和内容的程序showfile.aspx

  在显示属性和内容时需要用到的两个主要的类:

  System.IO.FileInfo:提供创建、复制、删除、移动和打开文件的实例方法,并且帮助创建 FileStream 对象。

  System.IO.StreamReader:实现一个 TextReader,使其以一种特定的编码从字节流中读取字符。除非另外指定,StreamReader的默认编码为 UTF-8,而不是当前系统的 ANSI 代码页。UTF-8 可以正确处理 Unicode 字符并在操作系统的本地化版本上提供一致的结果。

  Showfile.aspx页面主要代码:

  <asp:Label id="FileDetail" runat="server"/>

作者:秦海鹏    责编:豆豆技术应用

正在加载评论...