رفتن به مطلب
  • 0

خواندن رمزعبور کد شده با md5


MR.B4A

سوال

سلام.

من یه برنامه دارم که کاربر برای ورود به اون اول باید ثبت نام کنه

این کدای پی اچ پیه ثبت ناممه

$db=new PDO('mysql:host=localhost;dbname=shytoonak;charset=utf8','root','');
    if(isset($_POST['user_name'])){
        $user_old=$db->query('select count(id) from tbl_users where user_name="'.$_POST['user_name'].'"');
        $c=$user_old->fetch()['count(id)'];
        if($c>0){
            echo 'old';
        }
        else{
            $db->query('INSERT INTO tbl_users SET user_name="'.$_POST['user_name'].'",pass="'.md5('sheytoon'.$_POST['pass'].'",score="'.$_POST['score']).'"');
            echo 'ok';
        }
    }

تا اینجا همه چی اوکیه

مشکل زمانی شروع میشه که کاربر میخواد لاگین کنه

این دستوراته لاگینه

$db=new PDO('mysql:host=localhost;dbname=shytoonak;charset=utf8','root','');
  
  if(isset($_POST['user_name'])){
    $user_old=$db->query('select count(id) from tbl_users where user_name="'.$_POST['user_name'].'"');
  $c=$user_old->fetch()['count(id)'];
    if($c>0){
        $up_user=$db->query('select count(id) from tbl_users where user_name="'.$_POST['user_name'].'" AND pass="'.md5('sheytoon'.$_POST['pass']).'"');
       $c=$up_user->fetch()['count(id)'];
       if($c>0){
        echo 'ok';
        }else{
            echo 'wrong';
        }
       }else{
            echo 'w';
    }
  }

مشکل اینجاست که وقتی نام کاربری و رمزعبور درست باشه بازهم عبارت wrong رو بهم برمیگردونه.

انگاری شرط دالر سی بزرگتر از صفر ( دومین شرط ) برقرار نیست!!

ممنون میشم دوستان راهنمایی بفرمایند.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

2 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

این روشی که رفتین برای هش کردن اشتباهه عزیز. php خودش ابزارشو داره. از توابع password_hash و password_veify استفاده کنید. لینک های زیر رو ببینید

https://www.php.net/manual/en/function.password-hash.php

https://www.php.net/manual/en/function.password-verify.php

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱۴۰۰/۵/۴ در 20:07، محمدرضا شاهپیری گفته است:

این روشی که رفتین برای هش کردن اشتباهه عزیز. php خودش ابزارشو داره. از توابع password_hash و password_veify استفاده کنید. لینک های زیر رو ببینید

https://www.php.net/manual/en/function.password-hash.php

https://www.php.net/manual/en/function.password-verify.php

سلام.

استاد آموزشی چیزی در این باره دارید؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...