مهمان عزیز خوش آمدید. ورود ثبت نام



امتیاز موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
کلمات کلیدی
تشخیص متد کدگذاری پسورد در مای بی

تشخیص متد کدگذاری پسورد در مای بی بی
سلام دوستان
من یه اسکریپتی دارم که موقع چک کردن یوز نیم وپسورد در مای بی بی مشکل پیدا میکنم اگر ممکنه بنده رو راهنمایی بفرمایید. ممنون.
این چندتا بخش مهم از اسکریپت  هستش و فکر کنم مشکل از تو قسمت calss login باشه.
 و مشکل اینه که حتی با یوزر نیم و پسورد درست هم اررور اشتباه بودن یوزنیم و پسورد رو دارم!!!! 
کد:
    class DB
    {
        var $connection;
        var $started;
        
        function start()
        {
            global $MySQL_Host, $MySQL_User, $MySQL_Pass, $MySQL_DB;
            
            $this->connection = mysql_connect( $MySQL_Host, $MySQL_User,     $MySQL_Pass );
            mysql_select_db( $MySQL_DB, $this->connection );
        }
        
        function query( $query )
        {
            $result = mysql_query( $query, $this->connection );
            
            if( $result )
            {
                return mysql_fetch_full_result_array( $result );
            }
            else
            {
                return $result;
            }
        }
        
        function end()
        {
            mysql_close( $this->connection );
        }
        
        function isStarted()
        {
            return $started;
        }
    }

    function mysql_fetch_full_result_array( $result )
    {
        $table_result = array();
        $r = 0;
        
        if( $result === true )
        {
            return $result;
        }
        
        if( mysql_num_rows( $result ) == 0 )
        {
            return $result;
        }
        
        while( $row = mysql_fetch_assoc( $result ) )
        {
            $arr_row = array();
            $c = 0;
            
            while ( $c < mysql_num_fields( $result ) )
            {       
                $col = mysql_fetch_field( $result, $c );   
                $arr_row[ $col -> name ] = $row[ $col -> name ];           
                $c++;
            }   
            
            $table_result[ $r ] = $arr_row;
            $r++;
        }   
        
        return $table_result;
    }

    
    class Login
    {
        
        function CheckLogin( $username, $password )
        {
            $db = new DB();
            $db->start();
            
            $query = "SELECT uid, password, email FROM mybb_users WHERE username='".$username."' AND password='".md5(md5($salt).md5($password))."';";
            
            $result = $db->query( $query );
            
            $db->end();
            
            if( $result == false )
                return false;
     //                fwrite($fh, $result);
     //                fclose($fh);
                
                
            if( md5(md5($salt).md5($password)) == $result[ 0 ][ 'password' ] )
            {
                return array( 'uid' => $result[ 0 ][ 'uid' ],
                              'mail' => $result[ 0 ][ 'email' ],
                              'user' => $username
                            );
            }
        }
    }
Tofighi میگه:
توی کد نویسی این قسمت رو پیدا کنید:
کد:
$query = "SELECT uid, password, email FROM mybb_users WHERE username='".$username."' AND password='".md5(md5($salt).md5($password))."';";

$result = $db->query( $query );
توی دیتابیس مای بی بی یه قسمت به نام salt برای امنیت بیشتر رمز های عبور وجود داره.
به این کد تبدیل کنید:
کد:
$query = "SELECT salt FROM mybb_users WHERE username='".$username."';";
$user = $db->query( $query );
$salt = $user['salt'];
unset($user);
$query = "SELECT uid, password, email FROM mybb_users WHERE username='".strtolower($username)."' AND password='".md5(md5($salt).$password)."';";
// my-bb.ir
$result = $db->query( $query );


دعای خیر برای اعضای گروه مای بی‌بی فارسی را فراموش نکنید!تصویر: http://www.cdn.my-bb.ir/images/smilies-v6/lightbulb.gif

HeartHeart خیلی التماس دعا دارم... دعام کنید لطفا HeartHeart

اگر از گروه مای بی‌بی فارسی راضی هستید، پس لطفا آنرا حمایت کنید: حمایت می‌کنم
raminr63 میگه:
کار نکرد توفیقی جان توجه کن این کد اصلا جر مای بی بی نیست ها یه چیز جداست.
کاملش رو پایین برات میزارم ببیناین کد برای دیتابیس ساده که پسوردش فقط با md5 کد شده هستش ولی من میخوام این رو برای مای بی بی استفاده کنم ولی باید یه سری تغییرات برای چک کردن پسورد مای بی بی روش انجام بشه. من از این اسکریپت برای چک کردن پسورد کاربرا استفاده کنم کاملش اینطوری که یه برنامه دارم که پسورد رو برای این میفرسته و این هم پسورد رو چک میکنه ولی کدش برای مای بی بی ست نیست که این مهارت شما رو میخواد.:

کد:
<?php
    // Database info
    $MySQL_Host = "localhost";
    $MySQL_User = "lol";
    $MySQL_Pass = "kl";
    $MySQL_DB = "m";
    $tbl_name = "mybb_users";

    function ParsePost( )
    {
        $username = '';
        $password = '';
        
        $post = file_get_contents( "php://input" );
        
        $post = str_replace( "&", " ", $post );
        
        sscanf( $post, "%s  %s", $username, $password );
        
        return array( 'user' => $username,
                      'pass' => $password
                    );
    }
    
    function mysql_fetch_full_result_array( $result )
    {
        $table_result = array();
        $r = 0;
        
        if( $result === true )
        {
            return $result;
        }
        
        if( mysql_num_rows( $result ) == 0 )
        {
            return $result;
        }
        
        while( $row = mysql_fetch_assoc( $result ) )
        {
            $arr_row = array();
            $c = 0;
            
            while ( $c < mysql_num_fields( $result ) )
            {       
                $col = mysql_fetch_field( $result, $c );   
                $arr_row[ $col -> name ] = $row[ $col -> name ];           
                $c++;
            }   
            
            $table_result[ $r ] = $arr_row;
            $r++;
        }   
        
        return $table_result;
    }
    
    class DWAuth
    {
        var $keys;
    
        function AddDWValue( $val )
        {
            $this->keys[] = $val;
        }
        
        function GetAuthString( )
        {
            $result = "";
            
            foreach( $this->keys as $c )
            {
                $result .= $c."#";
            }
            
            return $result;
        }
    }
    
    class DB
    {
        var $connection;
        var $started;
        
        function start()
        {
            global $MySQL_Host, $MySQL_User, $MySQL_Pass, $MySQL_DB;
            
            $this->connection = mysql_connect("$MySQL_Host", "$MySQL_User", "$MySQL_Pass");
            mysql_select_db("$MySQL_DB", $this->connection );
        }
        
        function query( $query )
        {
            $result = mysql_query( $query, $this->connection );
            
            if( $result )
            {
                return mysql_fetch_full_result_array( $result );
            }
            else
            {
                return $result;
            }
        }
        
        function end()
        {
            mysql_close( $this->connection );
        }
        
        function isStarted()
        {
            return $started;
        }
    }
    
    class Login
    {
        
        function CheckLogin( $username, $password )
        {
            $db = new DB();
            $db->start();
            
            $query = "SELECT id, password, email FROM $tbl_name WHERE username='".$username."' AND password='".md5( $password )."';";
            
            $result = $db->query( $query );
            
            $db->end();
            
            if( $result == false )
                return false;
                fwrite($fh, $result);
                fclose($fh);
                
                
            if( md5( $password ) == $result[ 0 ][ 'password' ] )
            {
                return array( 'id' => $result[ 0 ][ 'id' ],
                              'mail' => $result[ 0 ][ 'email' ],
                              'user' => $username
                            );
            }
        }
    }
    
    $packet = new DWAuth();
    $result = ParsePost();
    
    if( ( empty( $result[ 'user' ] ) ) || ( empty( $result[ 'pass' ] ) ) )
    {
        $packet->AddDWValue( "fail" );
        $packet->AddDWValue( "Username and/or password is empty." );
        $packet->AddDWValue( 1 );
        $packet->AddDWValue( "Anonymous" );
        $packet->AddDWValue( "anonymous@example.com" );
        $packet->AddDWValue( 0 );
        
        echo $packet->GetAuthString();
        
        die();
    }
    
    $login = new Login();
    $result = $login->CheckLogin( $result[ 'user' ], $result[ 'pass' ] );
    
    if( $result == false )
    {
        $packet->AddDWValue( "fail" );
        $packet->AddDWValue( "incorrect username and/or password." );
        $packet->AddDWValue( 1 );
        $packet->AddDWValue( "Anonymous" );
        $packet->AddDWValue( "anonymous@example.com" );
        $packet->AddDWValue( 0 );
    }
    else
    {
        $sessionID = md5( rand() );
        // How to make the return
        $packet->AddDWValue( "ok" ); // fail or ok
        $packet->AddDWValue( "Success" ); // Success or error
        $packet->AddDWValue( $result[ 'id' ] ); // UserID
        $packet->AddDWValue( $result[ 'user' ] ); // Username
        $packet->AddDWValue( $result[ 'mail' ] ); // email
        $packet->AddDWValue( $sessionID ); // sessionID
        
        $db = new DB();
        $db->start();
        
        $query = "UPDATE users SET sid='".$sessionID."' WHERE id=".$result[ 'id' ];
        
        $result = $db->query( $query );
        $db->end();
    }
    
    echo $packet->GetAuthString();
    
?>
Tofighi میگه:
کد بالا بروزرسانی شد.
اگه مشکلتون حل شد که هیچی اگه حل نشد این جز پشتیبانی های معمولی حساب نمیشه و نیاز به پشتیبانی ویژه داره.


دعای خیر برای اعضای گروه مای بی‌بی فارسی را فراموش نکنید!تصویر: http://www.cdn.my-bb.ir/images/smilies-v6/lightbulb.gif

HeartHeart خیلی التماس دعا دارم... دعام کنید لطفا HeartHeart

اگر از گروه مای بی‌بی فارسی راضی هستید، پس لطفا آنرا حمایت کنید: حمایت می‌کنم


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  نحوه رمزگذاری پسورد کاربران mybb wildbuzz 3 649 ۲۹ فروردین ۱۳۹۳، ۰۴:۵۰ ب.ظ
آخرین ارسال: Tofighi
  ارسال پسورد کاربر به میل ar 98 2 804 ۲۷ شهریور ۱۳۹۲، ۰۹:۳۹ ب.ظ
آخرین ارسال: Dariush
  فراموش شدن پسورد دیتا بیس H@DI 1 519 ۱۴ تير ۱۳۹۲، ۱۰:۰۱ ق.ظ
آخرین ارسال: darya1012
  مشکل در ارسال ایمیل پسورد فراموش شده sam888 1 896 ۰۴ اسفند ۱۳۹۱، ۰۱:۳۰ ب.ظ
آخرین ارسال: Tofighi
  پسورد دیتابیس در دایرکتوری مای بی بی کجاست 3yeddd 1 1,151 ۱۲ بهمن ۱۳۹۱، ۱۱:۱۰ ب.ظ
آخرین ارسال: Tofighi
  تشخیص فایل های مخرب قالب Friga 6 1,382 ۲۱ دى ۱۳۹۱، ۱۲:۵۰ ب.ظ
آخرین ارسال: Friga

پرش به انجمن:


کاربران در حال بازدید این موضوع:

1 مهمان


درباره‌ی ما

گروه پشتیبانی فارسی مای بی بی My-BB.Ir در واپسین روزهای پاییز 1391 کار خود را در زمینه مای بی بی آغاز کرد. این گروه با توکل بر خدای منان و دانش فنی خود در تلاش است فعالیتی هرچند ناچیز در زمینه ارتقا و پشتیبانی مای بی بی انجام دهد.
تمامی حقوق برای وب‌سایت پشتیبانی فارسی مای بی‌بی (My-BB.Ir) محفوظ می‌باشد و هرگونه کپی‌برداری از آن شرعا حرام و قانونا غیرمجاز می‌باشد.
قدرت گرفته از مای بی‌بی - فارسی‌ساز: My-BB.Ir و IORA.Ir