نمایش نتایج: از شماره 1 تا 2 , از مجموع 2

موضوع: ویجت لاگین تلگرام Telegram [آموزش]

  1. #1
    عضو انجمن shahinmq آواتار ها
    تاریخ عضویت
    Oct 2012
    محل سکونت
    اصفهان
    نوشته ها
    266
    تشکر تشکر کرده 
    231
    تشکر تشکر شده 
    695
    تشکر شده در
    470 پست

    پیش فرض ویجت لاگین تلگرام Telegram [آموزش]

    دربرخی سایت ها احتمالا مشاهده کردید گزینه ای جهت ورود به حساب کاربری با استفاده از Google یا Facebook و ... قرارداده شده است.

    از آنجایی که تلگرام در ایران بازدهی بالایی داشته و احتمالا اکثر ایرانیان نیز اکانت تلگرام دارند ، هم اکنون مثل مثال زده شده می توانید از Telegram Login Widget استفاده کنید تا کاربر سریعتر و بدون نیاز به وارد کردن نام کاربری و رمز عبور وارد حساب کاربری خود شود.

    1- ابتدا یک بات از طریق botfather ایجاد کنید.

    2- در همان botfather ، از قسمت Bot Settings، دامنه ی خودرا ذخیره کنید.

    3- وارد آدرس https://core.telegram.org/widgets/login شوید.

    4- در اواسط صفحه ، تنظیمات مورد نظر خودرا انجام دهید و Authorization Type را بر روی Redirect to url قراردهید و آدرسی که مایلید کاربر پس از ورود به آن منتقل شود را وارد کنید.

    5- کد قرارداده شده برای شما را در سایت خود کپی کنید.

    6- پس از ورود شماره همراه ، یک تاییدیه برای کاربر ارسال می شود و درصورت تایید مشخصات آن شامل userid,username,full name,profile picture برای شما به صورت GET به آدرس Redirect ارسال می شود.

    حال شاید سوال شود ، شخص می تواند با وارد کردن userid در قالب GET بدون نیاز به هرچیزی وارد حساب کاربری خود شود که یک ضعف امنیتی حساب می شود.

    برای رفع این مشکل یک پارامتر دیگر به آدرس شما ارسال می شود (پارامتر hash) که با استفاده از الگوریتم ارائه شده توسط خود تلگرام می توانید متوجه شوید این درخواست از سمت تلگرام ارسال شده یا جعلی می باشد.

    همچنین هر hash یک زمان انقضا دارد.

    نمونه کد php جهت بررسی ارسال :

    کد PHP:
    function check_hash($bot_token)
    {
        if(!isset(
    $_GET['hash']))
            return 
    false;
        
    $data $_GET;
        unset(
    $data['hash']);
        
    $data_check_arr = [];
        foreach (
    $data as $key => $value)
            
    $data_check_arr[] = $key '=' $value;
        
    sort($data_check_arr);
        
    $data_check_string implode("\n"$data_check_arr);
        
    $user_hash $_GET['hash'];
        
    $secret_key hash('sha256'$bot_tokentrue);
        
    $hash hash_hmac('sha256'$data_check_string$secret_key);
        if (
    strcmp($hash$user_hash) !== 0)
            return 
    false;
        if ((
    time() - $_GET['auth_date']) > 86400)
            return 
    false;
        
        return 
    ture;
    }
    if(
    check_hash("BotToken") === true)
        echo 
    'welcome';
    else
        echo 
    'login error'
    بجای BotToken باید ، توکنی که در زمان ساخت بات ، botfather به شما داده است را وارد کنید.

    جهت تشخیص کاربر ، باید از قبل userid کاربر را توسط بات دریافت کرده باشید و با اتصال userid به حساب کاربری شخص می توانید فرایند تشخیص را انجام دهید.

    مقدار userid برای هرکاربر همیشه مقداری ثابت است و تکراری در آن وجود ندارد.

    بجای echo 'welcome'; یا echo 'login error'; می توانید کاربر را به آدرس دیگر هدایت کنید یا فرایند ورود به حساب کاربری را انجام دهید.
    ویرایش توسط shahinmq : March 27th, 2018 در ساعت 01:02

  2. تعداد تشکر ها ازshahinmq به دلیل پست مفید


  3. # ADS




     

  4. #2
    عضو انجمن
    تاریخ عضویت
    Jul 2010
    نوشته ها
    105
    تشکر تشکر کرده 
    202
    تشکر تشکر شده 
    133
    تشکر شده در
    106 پست

    پیش فرض پاسخ : ویجت لاگین تلگرام Telegram [آموزش]

    سلام و درووود
    بسیار عالی و کاربردی
    همیشه از آموزش و کمک های شما در انجمن استفاده کردیم
    نمونه ی قبلی هم اسکریپت درگاه پاسارگاد بود... که بسیار کمک کرد به بنده
    1 سوال فنی هم داشتم از شما که براتون توی تلگرام پیام گذاشتم.

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 0
    آخرين نوشته: May 29th, 2017, 00:24
  2. پاسخ ها: 7
    آخرين نوشته: May 30th, 2016, 13:44
  3. پاسخ ها: 2
    آخرين نوشته: May 5th, 2016, 12:20
  4. پاسخ ها: 0
    آخرين نوشته: December 7th, 2011, 23:51

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •