หัวข้อ: ใครก็ได้ครับอธิบายโค้ดนี้ให้หน่อยว่าคืออะไร เริ่มหัวข้อโดย: ิnarak26 ที่ 30 กันยายน 2011, 19:27:03 <?PHP
$Login_User = $_COOKIE["LOGIN_USERNAME"]; $Login_Pass = $_COOKIE["LOGIN_PASSWORD"]; //*** Check Member Md5 ***// require_once("../../../../../include/config.in.php"); //àªç¤ Username Password require_once("../../../../../include/class.sql.php"); $db = New database(); $db->connectdb ("$database[dbname]"); $q[ChkLogin] = "SELECT * FROM ".$table[abc_member]." where member_id = '$Login_User' "; $sql[ChkLogin] = mysql_query ( $q[ChkLogin] ) or sql_error ( "db-query",mysql_error() ); $rows[ChkLogin] = mysql_num_rows ( $sql[ChkLogin] ); $arr[ChkLogin] = mysql_fetch_array( $sql[ChkLogin] ); $db->closedb (); $Login_PassDB_MD5 = md5($arr[ChkLogin][password]); if($rows[ChkLogin] == "" or $rows[ChkLogin] == "0" or $Login_PassDB_MD5 != $Login_Pass) { $Host = $_SERVER['DOCUMENT_ROOT']; $Del = $_GET["Del"]; // unlink($Host.$Del); //exit(); } else { $Host = $_SERVER['DOCUMENT_ROOT']; $Del = $_GET["Del"]; unlink($Host.$Del); } ?> <?PHP $Login_AdminUser = $_COOKIE["ADMIN_USERNAME"]; $Login_AdminPass = $_COOKIE["ADMIN_PASSWORD"]; //*** Check Member Md5 ***// require_once("../../../../../include/config.in.php"); //àªç¤ Username Password Admin require_once("../../../../../include/class.sql.php"); $db = New database(); $db->connectdb ("$database[dbname]"); $q[ChkLoginAdmin] = "SELECT * FROM ".$table[abc_config]." where admin_user = '$Login_AdminUser' "; $sql[ChkLoginAdmin] = mysql_query ( $q[ChkLoginAdmin] ) or sql_error ( "db-query",mysql_error() ); $rows[ChkLoginAdmin] = mysql_num_rows ( $sql[ChkLoginAdmin] ); $arr[ChkLoginAdmin] = mysql_fetch_array( $sql[ChkLoginAdmin] ); $db->closedb (); $Login_PassDB_MD5 = md5($arr[ChkLoginAdmin][admin_pass]); if($rows[ChkLoginAdmin] == "" or $rows[ChkLoginAdmin] == "0" or $Login_PassDB_MD5 != $Login_AdminPass) { $Host = $_SERVER['DOCUMENT_ROOT']; $Del = $_GET["Del"]; // unlink($Host.$Del); } else { $Host = $_SERVER['DOCUMENT_ROOT']; $Del = $_GET["Del"]; unlink($Host.$Del); } ?> มันหมายถึงลบอะไรอ่ะครับจะไปทำโปรเจค งง อ่ะ หัวข้อ: Re: ใครก็ได้ครับอธิบายโค้ดนี้ให้หน่อยว่าคืออะไร เริ่มหัวข้อโดย: aaaaaa1 ที่ 30 กันยายน 2011, 19:41:00 $_GET["Del"] น่าจะเป็นชื่อไฟล์ที่ต้องการลบโดยรับมากจาก GET ครับก่อนลบก็มีการเช็คว่าเป็น admin ไหมก่อน
หัวข้อ: Re: ใครก็ได้ครับอธิบายโค้ดนี้ให้หน่อยว่าคืออะไร เริ่มหัวข้อโดย: ghostbehead ที่ 30 กันยายน 2011, 23:05:51 $_GET["Del"] น่าจะเป็นชื่อไฟล์ที่ต้องการลบโดยรับมากจาก GET ครับก่อนลบก็มีการเช็คว่าเป็น admin ไหมก่อน เห็นด้วยครับ :wanwan016: หัวข้อ: Re: ใครก็ได้ครับอธิบายโค้ดนี้ให้หน่อยว่าคืออะไร เริ่มหัวข้อโดย: phullop ที่ 30 กันยายน 2011, 23:11:40 อ่านแล้วก็งง มีตัวแปรชื่อ HOST ด้วย แล้วค่า $_GET['DEL']; คือค่าอะไร ส่วนคำสั่ง unlink เป็นการลบไฟล์หรือลบโฟลเดอร์นะ
หัวข้อ: Re: ใครก็ได้ครับอธิบายโค้ดนี้ให้หน่อยว่าคืออะไร เริ่มหัวข้อโดย: Nomkhonwaan ที่ 30 กันยายน 2011, 23:44:45 <?PHP :P คงประมาณนี้มั้งครับ$Login_User = $_COOKIE["LOGIN_USERNAME"]; //ดึง id ผู้ใช้งานจากคุกกี้ $Login_Pass = $_COOKIE["LOGIN_PASSWORD"]; //ดึงค่าพาสเวิร์ดจากคุกกี้ //*** Check Member Md5 ***// require_once("../../../../../include/config.in.php"); //àªç¤ Username Password require_once("../../../../../include/class.sql.php"); $db = New database(); //สร้าง object จากคลาส database คาดว่าน่าจะมีการประกาศคลาส database ที่ไฟล์ config.in.php หรือไม่ก็ที่ไฟล์ class.sql.php $db->connectdb ("$database[dbname]"); //สั่งเชื่อมต่อ database คอนฟิกเกี่ยวกับ database น่าจะอยู่ที่ไฟล์ config.in.php $q[ChkLogin] = "SELECT * FROM ".$table[abc_member]." where member_id = '$Login_User' "; //select ข้อมูลจากตารางที่อยู่ในตัวแปร $table['abc_member'] อันนี้ต้อง echo ค่าออกมา แต่เดาว่าตารางน่าจะชื่อ member โดยมีเงื่อนไขว่า member_id ต้องเท่ากับค่าที่อยู่ในตัวแปร $Login_User $sql[ChkLogin] = mysql_query ( $q[ChkLogin] ) or sql_error ( "db-query",mysql_error() ); //สั่งให้ php query จาก mysql และถ้ามี error ก็แสดง error ออกมาถ้าไม่มี ข้อมูลที่ select ได้จะถูกเก็บที่ตัวแปร $sql[ChkLohin] $rows[ChkLogin] = mysql_num_rows ( $sql[ChkLogin] ); //นับจำนวนแถวของข้อมูลที่ select ได้ สมมติผม select ออกมาได้ดังนี้ //id|username|password //01|11111111|22222222 //02|33333333|44444444 //mysql_num_rows ก็จะ return 2 ออกมาเพราะผม select ได้ 2 rows $arr[ChkLogin] = mysql_fetch_array( $sql[ChkLogin] ); //fetch ข้อมูลในอาเรย์ออกมา จากตรงนี้ถ้าข้อมูลมีมากกว่า 1 rows มันก็จะเอา มาแค่ row แรกครับเพราะสั่ง fetch แค่ทีเดียว fetch ออกมาก็จะได้ array ของข้อมูลมาเก็บไว้ที่ตัวแปร $arr[ChkLogin] $db->closedb (); //ตัดการเชื่อมต่อ database $Login_PassDB_MD5 = md5($arr[ChkLogin][password]); //เอารหัสผ่านที่ select จาก database มาเข้ารหัส แบบ md5 if($rows[ChkLogin] == "" or $rows[ChkLogin] == "0" or $Login_PassDB_MD5 != $Login_Pass) //ตรวจสอบว่า ข้อมูลที่ select ได้เป็นค่า NULL หรือเปล่า และถ้า รหัสผ่านจากคุกกี้ไม่เหมือนกับรหัสผ่านที่ดึงได้จาก database ก็จะเข้า if { $Host = $_SERVER['DOCUMENT_ROOT']; //$_SERVER['DOCUMENT_ROOT'] คือค่าของ root directory path ของเว็บ เอาใส่ไว้ที่ตัวแปร $Host $Del = $_GET["Del"]; //เอาข้อมูล GET จาก url ใส่ไว้ที่ $Del ลักษณะของข้อมูลจะส่งมากับ URL แบบนี้ครับ ?Del= // unlink($Host.$Del); //unlink เอาไว้ลบไฟล์บนเซิรฟครับ แต่ในโปรแรกมนี้ comment ไว้ //exit(); } else { $Host = $_SERVER['DOCUMENT_ROOT']; $Del = $_GET["Del"]; unlink($Host.$Del); //ลบไฟล์ที่ชื่อ ตามตัวแปร $Del ครับ path ของไฟล์ก็จะอยู่ที่ document root เลย เช่น /var/www/xxx.com/public_html/{ไฟล์} } ?> <?PHP //เหมือนข้างบนเลยครับแต่เป็นของ admin user $Login_AdminUser = $_COOKIE["ADMIN_USERNAME"]; $Login_AdminPass = $_COOKIE["ADMIN_PASSWORD"]; //*** Check Member Md5 ***// require_once("../../../../../include/config.in.php"); //àªç¤ Username Password Admin require_once("../../../../../include/class.sql.php"); $db = New database(); $db->connectdb ("$database[dbname]"); $q[ChkLoginAdmin] = "SELECT * FROM ".$table[abc_config]." where admin_user = '$Login_AdminUser' "; $sql[ChkLoginAdmin] = mysql_query ( $q[ChkLoginAdmin] ) or sql_error ( "db-query",mysql_error() ); $rows[ChkLoginAdmin] = mysql_num_rows ( $sql[ChkLoginAdmin] ); $arr[ChkLoginAdmin] = mysql_fetch_array( $sql[ChkLoginAdmin] ); $db->closedb (); $Login_PassDB_MD5 = md5($arr[ChkLoginAdmin][admin_pass]); if($rows[ChkLoginAdmin] == "" or $rows[ChkLoginAdmin] == "0" or $Login_PassDB_MD5 != $Login_AdminPass) { $Host = $_SERVER['DOCUMENT_ROOT']; $Del = $_GET["Del"]; // unlink($Host.$Del); } else { $Host = $_SERVER['DOCUMENT_ROOT']; $Del = $_GET["Del"]; unlink($Host.$Del); } ?> มันหมายถึงลบอะไรอ่ะครับจะไปทำโปรเจค งง อ่ะ หัวข้อ: Re: ใครก็ได้ครับอธิบายโค้ดนี้ให้หน่อยว่าคืออะไร เริ่มหัวข้อโดย: ิnarak26 ที่ 01 ตุลาคม 2011, 00:51:20 ขอบคุณทุกคนครับ ได้ประโยชน์มากมายเลยครับ
|