#副標=安全管制新功能(4) #大標=ASP.NET 2.0網頁防駭尖兵 #眉標= ASP.NET 2.0 #作者=文/王寧疆 =============box 程式1============== ================end============= ===========box 程式2================= protected void Page_Load(object sender, EventArgs e) { //取得網站虛擬目錄底下的所有檔案的名稱 string[] FileNames=Directory.GetFiles(Server.MapPath("~")); //建立DataTable類別的物件 DataTable table = new DataTable(); //加入名稱為FullName的欄位到DataTable table.Columns.Add("FullName", typeof(string)); //加入名稱為Length的欄位到DataTable table.Columns.Add("Length", typeof(int)); //加入名稱為LastAccessTime的欄位到DataTable table.Columns.Add("LastAccessTime", typeof(DateTime)); //加入名稱為IsReadOnly的欄位到DataTable table.Columns.Add("IsReadOnly", typeof(bool)); //一次取出一個檔案名稱 foreach (string s in FileNames) { //取得檔案詳細資訊 FileInfo f = new FileInfo(s); //建立DataRow類別的物件 DataRow dr = table.NewRow(); //將檔案名稱寫入FullName欄位 dr["FullName"] = f.FullName; //將檔案長度寫入Length欄位 dr["Length"] = f.Length; //將檔案最後取用時間寫入LastAccessTime欄位 dr["LastAccessTime"] = f.LastAccessTime; //將檔案是否唯讀的資訊寫入IsReadOnly欄位 dr["IsReadOnly"] = f.IsReadOnly; //將填好內容的DataRow物件加入到DataTable物件的Rows集合 table.Rows.Add(dr); } //命令GridView1控制項顯示DataTable物件的內容 GridView1.DataSource = table; //執行顯示 GridView1.DataBind(); } ===============end================ ==========box 程式3============= protected void Page_Load(object sender, EventArgs e) {   //建立讀取檔案內容的StreamReader類別的物件   StreamReader sr=new StreamReader(HttpUtility.UrlDecode( Request["FileName"]), Encoding.Default); //將檔案的內容讀入到TextBox1控制項   TextBox1.Text = sr.ReadToEnd();   //關閉StreamReader類別的物件   sr.Close(); } ==============end=================== ===========box 程式4============ protected void btnUpload_Click(object sender, EventArgs e) { //去除上傳檔案的目錄資訊 string FileName=Path.GetFileName(FileUpload1.PostedFile.FileName); //將上傳檔案儲存到網站的目錄 FileUpload1.PostedFile.SaveAs(Server.MapPath("~") + "/" + FileName); //顯示上傳成功的訊息 lblMessage.Text = FileUpload1.PostedFile.FileName + "Upload Succeeded!"; } ==============end============= ============box 程式5============ protected void Page_Load(object sender, EventArgs e) { //===== BEGIN SecureObjects generated code if (Page.IsPostBack) { Page.Validate();     // You may need to adjust the following IsValid check     // depending on what other work is done in this method.      if (!Page.IsValid) return; } else {     if (!SPI.SecureObjects.SPIValidator.ValidateNonPostBackInput(       Page)) return; } //===== END SecureObjects generated code StreamReader sr=new StreamReader(HttpUtility.UrlDecode(      Request["FileName"]), Encoding.Default); TextBox1.Text = sr.ReadToEnd(); sr.Close(); } =================end================ ==========box 程式6============= protected void Page_Load(object sender, EventArgs e) {  //===== BEGIN SecureObjects generated code   if (Page.IsPostBack) { Page.Validate(); // You may need to adjust the following IsValid check // depending on what other work is done in this method. if (!Page.IsValid) return; } else { if (!SPI.SecureObjects.SPIValidator.ValidateNonPostBackInput(       Page)) return; } //===== END SecureObjects generated code } =================end================= =============b ox 程式7============== protected void btnUpload_Click(object sender, EventArgs e) { //===== BEGIN SecureObjects generated code if (!Page.IsValid) return; //===== END SecureObjects generated code string FileName=Path.GetFileName( FileUpload1.PostedFile.FileName); FileUpload1.PostedFile.SaveAs(Server.MapPath("~") + "/" + FileName); lblMessage.Text = FileUpload1.PostedFile.FileName + "Upload Succeeded!"; } =================end============ ========box 程式8============ protected void OnSecurityEvent(object sender, SPI.SecureObjects.SecurityEventArgs e) { //===== BEGIN SecureObjects generated code if (e.Type != SPI.SecureObjects.SecurityEventType.ValidationError) SPI.SecureObjects.SecurityLog.Write(e, Page); //===== END SecureObjects generated code } ============end===============