ارسال پاسخ 
 
امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
حل نشده اکسترنال لاگین به انجمن
نویسنده پیام
ramin آفلاین
کاربر سایت
*
کاربر سایت

ارسال‌ها: 12
تاریخ عضویت: فرو ۱۳۹۱
اعتبار: 0
سپاس ها : 35
 سپاس شده 5 بار در 5 ارسال
ارسال: #1
اکسترنال لاگین به انجمن
باسلام

اقا من شدیدا درگیر این موضوع هستم و به کمک مای بی بی کار حرفه ای نیاز دارم.
من یه اسکریپتی دارم که بصورت اکسترنال بوسیله اون عمل چک کردن یوز و پسورد رو انجام میدم بقول خارجی ها همون کار Authorization رو انجام میدم که اگه یوزنیم و پسورد درست بود ادامه کار رو انجام بده.
این اسکریپت رو رو یه دیتابیس ساده که پسورد رو بصورت MD5 کد میکنه تست کردم وکاملا درسته و کار میکنه اما درمورد مای بی بی چون از یه متد پیشرفته برای کد کردن پسورد استفاده میکنه گیر کیردم لطفا اگه ممکنه راهنمایی بفرمایید. ممنون

این هم اسکریپت:



کد:
<?php
    
    $MySQL_Host = "localhost";
    $MySQL_User = "root";
    $MySQL_Pass = "pass";
    $MySQL_DB = "mybb";

    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 uid, password, email FROM mybb_users WHERE username='".$username."' AND password='".sha1( $password )."';";
            
            $result = $db->query( $query );
            
            $db->end();
            
            if( $result == false )
                return false;
//                fwrite($fh, $result);
//                fclose($fh);
                
                
            if( sha1( $password ) == $result[ 0 ][ 'password' ] )
            {
                return array( 'uid' => $result[ 0 ][ 'uid' ],
                              '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." );
        
        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 noob!" );
    }
    else
    {
        $sessionID = md5( rand() );
        
        $packet->AddDWValue( "ok" );
        $packet->AddDWValue( $result[ 'uid' ] );
        $packet->AddDWValue( $result[ 'user' ] );
        $packet->AddDWValue( $result[ 'mail' ] );
        $packet->AddDWValue( $sessionID );
        
        $db = new DB();
        $db->start();
        
        $query = "UPDATE mybb_users SET sid='".$sessionID."' WHERE uid=".$result[ 'uid' ];
        
        $result = $db->query( $query );
        $db->end();
    }
    
    echo $packet->GetAuthString();
    
?>
۲۸-۲-۱۳۹۲ ۱۲:۵۰ عصر
مشاهده‌ی وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
ramin آفلاین
کاربر سایت
*
کاربر سایت

ارسال‌ها: 12
تاریخ عضویت: فرو ۱۳۹۱
اعتبار: 0
سپاس ها : 35
 سپاس شده 5 بار در 5 ارسال
ارسال: #2
RE: اکسترنال لاگین به انجمن
کسی نیست به این استفاده کننده مای بی بی کمک کنه این مشکل من حیاتیه من خودم عاشق مای بی بی هستم ولی اگه کمک نشه مجبور برد عوض کنم که کلی مصیبت داره لطفا به داد برسید.
۲۹-۲-۱۳۹۲ ۱۲:۱۳ عصر
مشاهده‌ی وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در یک پاسخ
ارسال پاسخ 


موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  تغییر آیکون وضعیت انجمن TAGHDIR 1 428 ۱-۲-۱۳۹۳ ۱۰:۴۵ عصر
آخرین ارسال: Shezen
  مشکل در انجمن AIR 8 737 ۱-۲-۱۳۹۳ ۱۲:۳۵ صبح
آخرین ارسال: Matis
  چطور زیر انجمن ها رو تنظیم کنم TAGHDIR 1 382 ۲۴-۱-۱۳۹۳ ۱۱:۰۰ صبح
آخرین ارسال: ! Omid StaR !
Information چطوری عکس لگو بالای انجمن تنظیم کنم؟! TAGHDIR 3 488 ۲۲-۱-۱۳۹۳ ۰۸:۴۱ عصر
آخرین ارسال: senator
  مشکل در آمار الکسا انجمن senator 1 514 ۱۹-۱-۱۳۹۳ ۰۶:۴۳ عصر
آخرین ارسال: Shezen
  قرار دادن کد پاپ آپ در انجمن barbod_cigari 1 411 ۱۷-۱-۱۳۹۳ ۰۹:۲۶ صبح
آخرین ارسال: senator
  مشکل در بزرگ کردن اواتار در انجمن پسر پاییزی 1 307 ۱۵-۱-۱۳۹۳ ۰۵:۳۰ صبح
آخرین ارسال: ! Omid StaR !
  انتقال انجمن به ساب دامین elnaz61 1 397 ۱۰-۱-۱۳۹۳ ۱۰:۰۴ صبح
آخرین ارسال: senator
  حل نشده تغيير رمز و عدم ورود به انجمن r8041 1 417 ۵-۱-۱۳۹۳ ۰۵:۱۵ عصر
آخرین ارسال: ! Omid StaR !
  انتقال انجمن AmIR StaR_PL 3 391 ۲۰-۱۲-۱۳۹۲ ۰۲:۴۲ عصر
آخرین ارسال: Che guevara

پرش به انجمن:


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

خانه | بازگشت به بالا | بازگشت به محتوا | نسخه موبایل | پیوند سایتی RSS
اخبار فناوری اطلاعات | نرم افزار املاک | هتل آپارتمان مشهد | نرم افزار رستوران | نرم افزار تاکسی سرویس | نرم افزار رستوران | دانلود نرم افزار مطب | دانلود نرم افزار تاکسی سرویس | مجله پزشکی آسان طب | اتوماسیون پزشکی | نرم افزار دفترچه تلفن نرم افزار چاپ چک نرم افزار رستوران نرم افزار فست فود نرم افزار کافی شاپ نرم افزار تاکسی سرویس نرم افزار نمایشگاه خودرو نرم افزار املاک نرم افزار هتلداری نرم افزار مطب نرم افزار دندانپزشکی نرم افزار انبارداری نرم افزار حسابداری فروشگاه نرم افزار وکالت مجله اینترنتی پارسی وان | مجله اینترنتی زیگیل | خرید بک لینک | خرید رپورتاژ | سینما تئاتر مای استیج | یک مهاجر | دنیای مهاجرت | مجله گردشگری کاروان | وردپرس دانلود | مجله تفریحی تندیس فان | نرم افزار Software | جوک جدید | اخبار هنر | اخبار کامپیوتر | سایت پزشکی | فروشگاه اینترنتی | سایت خبری | دانلود موزیک | اندروید سه | بانک شماره موبایل | پایگاه صالحین | مجله کامپیوتری | جاب لر | نوین ساخت | سهام نت | تکی کو | تم کد | مجله اینترنتی وبدون | پورتال خبری | سایت تفریحی تک لایو | مجله سرگرمی سیب رنک | سایت پزشکی دکتر طب | مدرن بوک | مجله اینترنتی فرتکست | مجله پزشکی نت سلامت | کافه ایرونی | مجله خندانک | مجله اینترنتی فان استار | مجله من | مجله اینترنتی دونیمه | مجله اینترنتی بردیا | فاینال مد | فرهنگیا | نامبروان | جان نو | مگفر | مجله 24 | نیمچه | تک پدیا | آیناز وب | مطالب بیست | میهن اسکای | نیک آنلاین | شینار | وطنی ها | طب جدید | هوای تازه | آاقای گل | برترین مطالب | دایی رضا | فارس پدیا | آجودانیه | چارشنبه | فانیفا | قارپوز | گوهرمند | گل بهار | جهان من | جوان امروز | کالچر | مه آذین | مجله سبز | مگناب | دنیای نت | نیک اندیشه | نیکاندوست | نیک پاتوق | ازبک | پارمینو | پیک آبی | پورتال من | راز آلود | روسپید | رشد نگر | رویای زندگی | شورانگیز | سیمای وب | نتیها | تاپکده | وب دوستان | ویکی وان | یکناز | زرچوب | زردقناری | عصرطلایی | فرتورز | آموزش گیتار | مایادانلود | | دکتر CMS | سایت آموزش گیتار | رایان درمان | پارسیان گشت | ایران کافه | گیتی بوک | مجله فراتوریسم | فراتوریسم | دکتر آسان دنت | آسان دنت | مجله گردشگری افراگشت | افراگشت | هشت گام | فرکافی | میهن تاج | مجله پزشکی رایان درمان | موج سینما | تیزباد | برفانک | کافه داران | کینگ دانلود |