ASP.NET虛擬主機(jī)文件系統(tǒng)操作隱患是什么

本篇內(nèi)容介紹了“ASP.NET虛擬主機(jī)文件系統(tǒng)操作隱患是什么”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

錫林浩特ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

ASP.NET虛擬主機(jī)之文件系統(tǒng)操作隱患是在我們編寫代碼之前,有必要了解一下我們需要用到的幾個(gè)主要的類。這幾個(gè)類都在System.IO名稱空間下,System.IO 名稱空間包含允許在數(shù)據(jù)流和文件上進(jìn)行同步和異步讀寫的類。

在整個(gè)應(yīng)用程序的開(kāi)始部分我們需要了解一下服務(wù)器的系統(tǒng)信息,這就需要用到System.Environment類,該類提供有關(guān)當(dāng)前環(huán)境和平臺(tái)的信息以及操作它們的方法。我們通過(guò)System.Environment類可以得到系統(tǒng)的當(dāng)前目錄和系統(tǒng)目錄,這可以使我們更快的發(fā)現(xiàn)幾個(gè)關(guān)鍵的目錄;我們還可以通過(guò)獲取運(yùn)行當(dāng)前進(jìn)程的用戶名來(lái)幫助我們了解ASP.NET程序運(yùn)行所使用的用戶,進(jìn)一步設(shè)置用戶權(quán)限以避免這一安全問(wèn)題。

我們還要使用System.IO名稱空間的其他幾個(gè)類是:

System.IO.Directory:提供用于創(chuàng)建、移動(dòng)和枚舉通過(guò)目錄和子目錄的靜態(tài)方法的類

System.IO.File:提供用于創(chuàng)建、復(fù)制、刪除、移動(dòng)和打開(kāi)文件的靜態(tài)方法的類

System.IO.FileInfo:提供創(chuàng)建、復(fù)制、刪除、移動(dòng)和打開(kāi)文件的實(shí)例方法的類

System.IO.StreamReader:實(shí)現(xiàn)一個(gè) TextReader,使其以一種特定的編碼從字節(jié)流中讀取字符。

每個(gè)我們所使用的類的屬性和方法的具體用法我們將以代碼注釋的方式在程序中加以說(shuō)明。

System.IO名稱空間在 .NET FRAMEWORK提供的mscorlib.dll中,在使用VS.Net編程之前需要將此Dll引用到此項(xiàng)目中。

我們所編寫的程序都使用了Codebehind方式,即每一個(gè)aspx程序都有一個(gè)對(duì)應(yīng)的aspx.cs程序,aspx程序中只是寫與頁(yè)面顯示相關(guān)的代碼,所有邏輯實(shí)現(xiàn)的代碼都放在相應(yīng)的aspx.cs文件中,這樣就可以更好得做到顯示與邏輯的分離。由于我們的目的不是討論Codebehind技術(shù),所以就不在對(duì)此多加討論了。

在這篇文章里,我們只介紹幾個(gè)主要的類及其關(guān)鍵方法的用法,詳細(xì)程序請(qǐng)查看附帶的源代碼。

程序一:顯示服務(wù)器的當(dāng)前信息和全部邏輯驅(qū)動(dòng)器的名稱的程序listdrivers.aspx

主要方法1:我們使用 GetSysInf() 方法來(lái)得到服務(wù)器的當(dāng)前環(huán)境和平臺(tái)的信息

//獲取系統(tǒng)信息的方法,此方法在listdrivers.aspx.cs文件中  public void GetSysInf () {  //獲取操作系統(tǒng)類型  qDrives = Environment.OSVersion.ToString();  //獲取系統(tǒng)文件夾  qSystemDir = Environment.SystemDirectory.ToString();  /*獲取映射到進(jìn)程上下文的物理內(nèi)存量,通過(guò)這一內(nèi)存映射量可以了解ASP.NET程序在運(yùn)行時(shí)需要多少系統(tǒng)物理內(nèi)存,有助于更好的規(guī)劃我們的整個(gè)應(yīng)用,因?yàn)槲锢韮?nèi)存量是以Byte為單位的,所以我們將此數(shù)值除以1024,可以得到單位為KB的物理內(nèi)存量*/ qMo = (Environment.WorkingSet/1024).ToString();  //獲取當(dāng)前目錄(即該進(jìn)程從中啟動(dòng)的目錄)的完全限定路徑  qCurDir = Environment.CurrentDirectory.ToString();  //獲取主機(jī)的網(wǎng)絡(luò)域名  qDomName = Environment.UserDomainName.ToString();  //獲取系統(tǒng)啟動(dòng)后經(jīng)過(guò)的毫秒數(shù)  qTick = Environment.TickCount;   //計(jì)算得到系統(tǒng)啟動(dòng)后經(jīng)過(guò)的分鐘數(shù)  qTick /= 60000;  //獲取機(jī)器名  qMachine = Environment.MachineName;  //獲取運(yùn)行當(dāng)前進(jìn)程的用戶名  qUser = Environment.UserName;  /*檢索此計(jì)算機(jī)上格式為"﹤驅(qū)動(dòng)器號(hào)﹥:\"的邏輯驅(qū)動(dòng)器的名稱,返回字符串?dāng)?shù)組,這是下一步操作的關(guān)鍵所在*/ achDrives = Directory.GetLogicalDrives();  //獲取此字符串?dāng)?shù)組的維數(shù),確定有多少個(gè)邏輯驅(qū)動(dòng)器  nNumOfDrives = achDrives.Length;  }

ASP.NET虛擬主機(jī)之文件系統(tǒng)操作隱患在系統(tǒng)信息不需要進(jìn)行操作,我們簡(jiǎn)單的用asp:Label將他們顯示出來(lái)就行了。邏輯驅(qū)動(dòng)器的個(gè)數(shù)在不同的服務(wù)器上是不定的,所以用不定長(zhǎng)數(shù)組保存邏輯驅(qū)動(dòng)器的名稱,而且邏輯驅(qū)動(dòng)器的名稱也是我們下一步瀏覽目錄和文件的基礎(chǔ),故我們采用了數(shù)據(jù)網(wǎng)格DataGrid來(lái)顯示和處理它。

顯示和處理邏輯驅(qū)動(dòng)器名稱的DataGrid的代碼(代碼在listdrivers.aspx文件):

﹤asp:DataGrid id="Drivers﹥Grid" runat="server" AutoGenerateColumns="false"﹥  ﹤Columns  ﹤asp:BoundColumn HeaderText="ID" DataField="ID" /﹥  ﹤asp:BoundColumn HeaderText="磁盤名" DataField="Drivers" /﹥  ﹤asp:HyperLinkColumn  HeaderText="詳細(xì)信息"   DataNavigateUrlField="Drivers" DataNavigateUrlFormatString="listdir.aspx?dir={0}"   DataTextField="Detail"   Target="_new" /﹥  ﹤/Columns﹥  ﹤/asp:DataGrid﹥

前兩個(gè)BoundColumn列都是顯示序號(hào)和實(shí)際邏輯驅(qū)動(dòng)器名稱的,需要說(shuō)明的是第三列,我們?cè)谶M(jìn)入各個(gè)邏輯驅(qū)動(dòng)器顯示目錄和文件之前需要將所選擇的邏輯驅(qū)動(dòng)器的名稱傳遞到顯示目錄的文件去,所以需要一個(gè)特殊的超級(jí)鏈接行HyperLinkColumn,我們將DataNavigateUrlField設(shè)置為數(shù)據(jù)源中要綁定到 HyperLinkColumn 中的超級(jí)鏈接的 URL 的字段,在此即邏輯驅(qū)動(dòng)器名稱。然后將DataNavigateUrlFormatString設(shè)置為當(dāng) URL 數(shù)據(jù)綁定到數(shù)據(jù)源中的字段時(shí),此HyperLinkColumn中的超級(jí)鏈接的 URL 的顯示格式,即要鏈接到的下一級(jí)處理頁(yè)面,在此為listdir.aspx?dir={用戶點(diǎn)擊行的邏輯驅(qū)動(dòng)器名稱}

“ASP.NET虛擬主機(jī)文件系統(tǒng)操作隱患是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

本文名稱:ASP.NET虛擬主機(jī)文件系統(tǒng)操作隱患是什么
文章URL:http://muchs.cn/article36/pdggsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、品牌網(wǎng)站制作網(wǎng)站制作、網(wǎng)站導(dǎo)航、做網(wǎng)站、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司