自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ASP.NET虛擬主機(jī)在顯示文件時(shí)的隱患淺析

開發(fā) 后端
ASP.NET虛擬主機(jī)在顯示文件時(shí)有什么要注意的呢?那么本文就向你介紹這方面的內(nèi)容,在實(shí)例的分析下我們看看有沒(méi)有值得注意的地方。

ASP.NET虛擬主機(jī)在顯示文件時(shí)的隱患,首先我們來(lái)看實(shí)例,顯示文件屬性和內(nèi)容的程序showfile.aspx

在顯示屬性和內(nèi)容時(shí)需要用到的兩個(gè)主要的類:

System.IO.FileInfo:提供創(chuàng)建、復(fù)制、刪除、移動(dòng)和打開文件的實(shí)例方法,并且?guī)椭鷦?chuàng)建 FileStream 對(duì)象。

System.IO.StreamReader:實(shí)現(xiàn)一個(gè) TextReader,使其以一種特定的編碼從字節(jié)流中讀取字符。除非另外指定,StreamReader的默認(rèn)編碼為 UTF-8,而不是當(dāng)前系統(tǒng)的 ANSI 代碼頁(yè)。UTF-8 可以正確處理 Unicode 字符并在操作系統(tǒng)的本地化版本上提供一致的結(jié)果。

ASP.NET虛擬主機(jī)在顯示文件之Showfile.aspx頁(yè)面主要代碼:

  1. ﹤asp:Label id="FileDetail" runat="server"/﹥  

我們只是將文件的屬性信息和部分內(nèi)容顯示在此Label上。所以沒(méi)有其他復(fù)雜的代碼。

獲取文件信息和內(nèi)容的主要代碼都在Page_Load方法中(代碼在showfile.aspx.cs文件中):

  1. //接收傳入的參數(shù),確定需要操作的文件名稱  
  2. strFile2Show = Request.QueryString["file"];  
  3. //根據(jù)文件名實(shí)例化一個(gè)FileInfo對(duì)象  
  4. FileInfo fi = new FileInfo(strFile2Show);  
  5. FileDetail.Text = "文件名:";  
  6. FileDetail.Text += strFile2Show+"﹤br﹥";  
  7. FileDetail.Text += "文件大小";  
  8. //獲得文件的大小,然后變換單位為KB  
  9. FileDetail.Text += (fi.Length/1024).ToString()+"K﹤br﹥";  
  10. FileDetail.Text += "創(chuàng)建文件時(shí)間:";  
  11. //獲得文件的創(chuàng)建日期  
  12. FileDetail.Text += fi.CreationTime.ToString();  
  13. FileDetail.Text += "上次訪問(wèn)時(shí)間:";  
  14. //獲得文件的上次訪問(wèn)日期  
  15. FileDetail.Text += fi.LastAccessTime.ToString()+"﹤br﹥";  
  16. FileDetail.Text += "上次寫入時(shí)間:";  
  17. //獲得文件的上次寫入日期  
  18. FileDetail.Text += fi.LastWriteTime.ToString()+"﹤br﹥";  
  19. //實(shí)例化一個(gè)StreamReader對(duì)象,用于讀取此FileInfo的內(nèi)容  
  20. StreamReader FileReader = fi.OpenText();  
  21. //定義一個(gè)長(zhǎng)度為1000的字符數(shù)組作為緩沖區(qū)  
  22. char[] theBuffer = new char[1000];  
  23. /*ReadBlock方法:從當(dāng)前流中讀取最大數(shù)量的字符并從索引開始將該數(shù)據(jù)寫入緩沖區(qū)。  
  24.  
  25. 參數(shù):  
  26.  
  27. char[] buffer:方法返回時(shí),包含指定的字符數(shù)組  
  28.  
  29. int index:buffer 中開始寫入的位置  
  30.  
  31. int count:最多讀取的字符數(shù)  
  32.  
  33. */ 
  34. int nRead = FileReader.ReadBlock(theBuffer,0,1000);  
  35.  
  36. FileDetail.Text += new String(theBuffer,0,nRead);  
  37.  
  38. //關(guān)閉此 StreamReader 并釋放與之關(guān)聯(lián)的所有系統(tǒng)資源  
  39.  
  40. FileReader.Close();  

到目前為止,我們實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的web頁(yè)面的服務(wù)器磁盤管理應(yīng)用程序,可以查看、刪除目錄和文件。如果需要修改文件、新建文件和文件夾等功能,只需稍作修改,添加上相應(yīng)的代碼就可以。由于我們只是通過(guò)這個(gè)程序說(shuō)明服務(wù)器中存在的安全隱患,所以在這里就不再實(shí)現(xiàn)這些功能了。

通過(guò)這三個(gè)簡(jiǎn)單的程序,我想大家已經(jīng)能夠清楚的認(rèn)識(shí)到ASP.NET虛擬主機(jī)的隱患漏洞的危害性了,如果我們不加防范的話,其他用戶的程序就能被惡意使用此功能的用戶查看、刪除,服務(wù)器的系統(tǒng)日志、系統(tǒng)文件也沒(méi)有任何安全可言了。

ASP.NET虛擬主機(jī)在顯示文件時(shí)的隱患就介紹到這里,也是對(duì)ASP.NET虛擬主機(jī)的隱患做一下了解,希望對(duì)你有所幫助。

【編輯推薦】

  1. ASP.NET虛擬主機(jī)的重大安全隱患
  2. ASP.NET虛擬主機(jī)之文件系統(tǒng)操作隱患淺析
  3. ASP.NET虛擬主機(jī)在創(chuàng)建數(shù)據(jù)源時(shí)的隱患淺析
  4. ASP.NET虛擬主機(jī)在文件目錄管理時(shí)的隱患淺析
  5. ASP.NET虛擬主機(jī)在刪除文件目錄時(shí)的隱患淺析
責(zé)任編輯:仲衡 來(lái)源: 百度空間
相關(guān)推薦

2009-07-27 16:14:29

ASP.NET虛擬主機(jī)

2009-07-27 16:23:55

ASP.NET虛擬主機(jī)

2009-07-27 15:59:34

ASP.NET虛擬主機(jī)

2009-07-27 15:51:49

ASP.NET虛擬主機(jī)

2009-07-27 15:44:32

ASP.NET虛擬主機(jī)

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

2010-08-06 08:50:21

ASP.NET

2009-07-24 13:41:15

ASP.NET AJA

2009-08-05 18:36:12

ASP.NET Che

2009-07-31 12:43:59

ASP.NET MVC

2009-08-05 15:50:13

ASP.NET優(yōu)點(diǎn)

2009-07-22 18:03:00

ASP.NET ASP

2009-07-27 17:00:29

ASP.NET主機(jī)

2009-07-31 11:45:42

ASP.NET文件下載

2009-07-20 16:09:39

2009-07-21 10:05:10

ASP.NET配置文件

2009-08-10 13:32:15

ASP.NET TimASP.NET組件設(shè)計(jì)

2009-07-29 14:12:45

ASP.NET tra
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)