成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET虛擬主機在文件目錄管理時的隱患淺析

開發 后端
ASP.NET虛擬主機在文件目錄管理時的隱患都有什么呢?本文通過實例分析說明ASP.NET虛擬主機在文件目錄管理時的一些情況。

ASP.NET虛擬主機在文件目錄管理時的隱患是什么么?首先讓我們看一個實例,顯示目錄中所有子目錄和文件的程序listdir.aspx

目錄下有子目錄和文件兩種形式,必須分別對待。我們調用此程序本身對子目錄進行列表顯示,而文件我們需要調用showfile.aspx程序對文件的屬性和內容進行顯示。并且兩者還有不同的刪除方法,所以我們在這里設置了兩個DataGrid,兩個DataTable,兩個DataView,分別處理和顯示目錄和文件。

ASP.NET虛擬主機在文件目錄管理時顯示和處理目錄和文件的DataGrid的代碼(代碼在listdir.aspx文件):

顯示目錄或文件的序號和名稱的數據列類似于listdrivers.aspx程序中的相應代碼,這里就不再重復了。對于子目錄和文件分別有各自的處理頁面,所以需要導航到兩個不同的頁面,對于子目錄,我們繼續使用listdir.aspx程序對其下的子目錄和文件進行列表顯示:

  1. ﹤asp:HyperLinkColumn DataNavigateUrlField="DirName" 
  2. DataNavigateUrlFormatString="listdir.aspx?dir={0}" 
  3. DataTextField="DirDetail"   
  4. HeaderText="詳細信息" 
  5. Target="_new" 
  6. /﹥ 

對于文件,我們使用showfile.aspx程序顯示其屬性和內容:

  1. ﹤asp:HyperLinkColumn DataNavigateUrlField="FileName" 
  2. DataNavigateUrlFormatString="showfile.aspx?file={0}"   
  3. DataTextField="FileDetail"   
  4. HeaderText="詳細信息"   
  5. Target="_new"   
  6. /﹥  

在兩個DataGrid(DirGrid,FileGrid)中我們分別設置了兩個HyperLinkColumn列來導航到不同的處理頁面。

ASP.NET虛擬主機在文件目錄管理時在兩個DataGrid中我們都使用了一個刪除的按鈕列:

  1. ﹤asp:ButtonColumn HeaderText="刪除"   
  2. Text="刪除"   
  3. CommandName="Delete" 
  4. /﹥  

由于添加、更新、刪除功能列都是DataGrid的默認模板列,所以可以在Vs.net中通過DataGrid的屬性生成器自動添加此列。

獲取上一頁面所傳遞來的參數的代碼:

因為在下面產生數據源的方法中需要使用由上一個頁面傳遞過來的參數來確定目錄和文件的名稱,所以在頁面的Page_Load方法里使用了下列代碼:

strDir2List = Request.QueryString["dir"];

字符串strDir2List即傳過來的目錄名或文件名。

因為我們使用了兩個DateGrid,就需要進行兩次數據綁定,就有兩個不同的生成數據源的方法。

生成目錄數據網格(DirGrid)數據源的方法:

  1. //通過此方法返回一個集合形式的數據視圖DataView,用來初始化子目錄的DataGrid  
  2. ICollection CreateDataSourceDir() {  
  3. dtDir = new DataTable();  
  4. DataRow dr;  
  5. //向DataTable中添加新的數據列,共四列  
  6. dtDir.Columns.Add(new DataColumn("DirID"typeof(Int32)));  
  7. dtDir.Columns.Add(new DataColumn("DirName"typeof(string)));  
  8. dtDir.Columns.Add(new DataColumn("DelDir"typeof(string)));  
  9. dtDir.Columns.Add(new DataColumn("DirDetail"typeof(string)));   
  10. //根據傳入的參數(目錄名)得到此目錄下所有子目錄名的字符串數組  
  11. string [] DirEntries = Directory.GetDirectories(strDir2List);  
  12. //使用foreach循環可以對未知長度的數組進行遍歷循環  
  13. foreach(string DirName in DirEntries){  
  14. dr = dtDir.NewRow();  
  15. dr[0] = i;//序號  
  16. dr[1] = DirName;//文件夾名稱   
  17. dr[3] = "刪除";  
  18. dr[3] = "查看詳情";  
  19. dtDir.Rows.Add(dr);  
  20. i++;   
  21. }  
  22. DataView dvDir = new DataView(dtDir);  
  23. //返回得到的數據視圖  
  24. return dvDir;  

ASP.NET虛擬主機在文件目錄管理時生成文件數據網格(FileGrid)數據源的方法:

  1. //通過此方法返回一個集合形式的數據視圖DataView,用來初始化文件的DataGrid  
  2. ICollection CreateDataSourceFile() {  
  3. dtFile = new DataTable();  
  4. DataRow dr;  
  5. dtFile.Columns.Add(new DataColumn("FileID"typeof(Int32)));  
  6. dtFile.Columns.Add(new DataColumn("FileName"typeof(string)));  
  7. dtFile.Columns.Add(new DataColumn("DelFile"typeof(string)));  
  8. dtFile.Columns.Add(new DataColumn("FileDetail"typeof(string)));   
  9. //根據傳入的參數(目錄名)得到此目錄下所有文件名的字符串數組  
  10. string [] FileEntries = Directory.GetFiles(strDir2List);  
  11. foreach(string FileName in FileEntries){  
  12. dr = dtFile.NewRow();  
  13. dr[0] = i;  
  14. dr[1] = FileName;   
  15. dr[2] = "刪除";  
  16. dr[3] = "查看詳情";  
  17. dtFile.Rows.Add(dr);  
  18. i++;  
  19. }  
  20. dvFile = new DataView(dtFile);  
  21. return dvFile;  
  22. }  

我們編程實現了兩個DataSource只需在頁面的Page_Load方法里對兩個DataGrid進行數據綁定即可將得到的DataTable中的數據顯示在aspx頁面的DataGrid上。

數據綁定代碼:

  1. //對子目錄數據列表DirGrid進行數據源定義和數據綁定  
  2. DirGrid.DataSource = CreateDataSourceDir();  
  3. DirGrid.DataBind();   
  4. //對文件數據列表FileGrid進行數據源定義和數據綁定  
  5. FileGrid.DataSource = CreateDataSourceFile();  
  6. FileGrid.DataBind();  

通過我們上邊介紹的主要方法,我們實現了對某個邏輯驅動器或目錄中的所有子目錄和文件進行了列表顯示,并且可以根據顯示結果更進一步的瀏覽子目錄或者查看文件的屬性和內容提要。瀏覽子目錄仍然是通過listdir.aspx這個程序,沒有任何子目錄級別要求,沒有目錄深度限制。

ASP.NET虛擬主機在文件目錄管理時的隱患就向你介紹到這里,希望對你有所幫助。

【編輯推薦】

  1. ASP.NET調用存儲過程的含義及好處
  2. ASP.NET應用程序資源訪問安全模型淺析
  3. ASP.NET虛擬主機的重大安全隱患
  4. ASP.NET虛擬主機之文件系統操作隱患淺析
  5. ASP.NET虛擬主機在創建數據源時的隱患淺析
責任編輯:仲衡 來源: iwms
相關推薦

2009-07-27 16:23:55

ASP.NET虛擬主機

2009-07-27 16:30:11

ASP.NET虛擬主機

2009-07-27 15:59:34

ASP.NET虛擬主機

2009-07-27 15:51:49

ASP.NET虛擬主機

2009-07-27 15:44:32

ASP.NET虛擬主機

2009-07-21 15:34:32

ASP.NET 2.0

2009-07-27 15:34:11

MembershipASP.NET

2009-07-27 10:18:12

TypeResolveASP.NET

2009-08-05 18:36:12

ASP.NET Che

2009-07-24 13:41:15

ASP.NET AJA

2009-08-05 15:50:13

ASP.NET優點

2009-07-31 12:43:59

ASP.NET MVC

2010-08-06 08:50:21

ASP.NET

2009-07-22 18:03:00

ASP.NET ASP

2009-07-21 10:05:10

ASP.NET配置文件

2009-07-31 11:45:42

ASP.NET文件下載

2009-07-20 16:09:39

2009-08-10 13:32:15

ASP.NET TimASP.NET組件設計

2009-07-27 17:00:29

ASP.NET主機

2009-07-29 14:12:45

ASP.NET tra
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品亚洲精品国产欧美 | 欧美一区视频在线 | 亚洲毛片| 99久久99久久精品国产片果冰 | 国产高清视频 | 久久久网 | 给我免费的视频在线观看 | 精品电影 | 国产精品欧美一区二区 | 国产日韩精品一区 | 精品一区二区免费视频 | 亚洲第一天堂 | 草久视频| 美女国产精品 | 农村真人裸体丰满少妇毛片 | 一道本一区二区 | 免费一看一级毛片 | 成人精品鲁一区一区二区 | 久久成人国产精品 | 精品久久九 | 日韩欧美视频免费在线观看 | 日韩小视频 | av一区二区三区四区 | 免费在线观看av的网站 | 亚洲免费一区二区 | 一区二区中文字幕 | 午夜专区 | 日韩欧美一级精品久久 | 91在线观看免费视频 | 国产精品一区二区三区在线 | 国产一区二区日韩 | 欧美一级全黄 | 天天玩天天操天天干 | 色免费看 | 亚洲精品乱码久久久久久蜜桃 | 久久精品亚洲一区二区三区浴池 | 亚洲精品女人久久久 | 中文字幕一区二区三区四区五区 | 久久久久久国产 | 国产美女精品 | 久免费视频 |