ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: ิnarak26 ที่ 30 กันยายน 2011, 19:27:03



หัวข้อ: ใครก็ได้ครับอธิบายโค้ดนี้ให้หน่อยว่าคืออะไร
เริ่มหัวข้อโดย: ิ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        
                $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);
                          }
?>

มันหมายถึงลบอะไรอ่ะครับจะไปทำโปรเจค งง อ่ะ
:P คงประมาณนี้มั้งครับ


หัวข้อ: Re: ใครก็ได้ครับอธิบายโค้ดนี้ให้หน่อยว่าคืออะไร
เริ่มหัวข้อโดย: ิnarak26 ที่ 01 ตุลาคม 2011, 00:51:20
ขอบคุณทุกคนครับ ได้ประโยชน์มากมายเลยครับ