• 1400/03/17

قسمت 166 مشکل ورود به بخش ادمین :

سلام استاد من سوالم رو مطرح کرده بودم اما نمیدونم چرا پاک شد!!!!

 

این کدی است که نوشتم:

<?php

namespace App\Http\Controllers\Admin;

use System\Auth\Auth;
use App\Http\Controllers\Controller;

class AdminController extends Controller
{

    public function __construct()
    {

        Auth::loginById(1);
        Auth::check();
        if (Auth::user()->user_type != 'admin') {
            redirect('/login');
            exit;
        }
    }

    public function index()
    {
        return view("admin.index");
    }
}
  • 1400/03/17
  • ساعت 12:25

با سلام خدمت شما همراه عزیز

 

 

اون بخش 

Auth::user()->user_type

دامپ بگیرید ببینید خروجی چی هست


  • 1400/03/17
  • ساعت 13:09

استاد میشه بیشتر راهنمایی ام کنید من میخوام بگیرم بازم ریدایرکت میشم

مینویسم:
var_dump(Auth::user()->user_type);

 


  • 1400/03/17
  • ساعت 16:21

سلام دوست عزیز ؛

پسوردی که توی دیتابیس ذخیره کردین hash شده نیست . در صورتی که شما توی فرم login پسورد ابتدا هش میشه بعد مطابقت داده میشه . شما یک پسورد رو تبدیل به هش کنین بعد ورود کنید.


  • 1400/03/17
  • ساعت 16:23

سلام

ممنون از پاسخگویتن

mim student

چجوری پسوردی که خودم دستی تو php myadmin میسازم را hash کنم؟


  • 1400/03/17
  • ساعت 21:01

سلام مجدد ،

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

print_r(password_hash('your password', PASSWORD_DEFAULT));

  • 1400/03/18
  • ساعت 10:03

سلام دوست عزیز این قطعه کدی که نوشتی را کجا باید بنویسم؟

 


  • 1400/03/18
  • ساعت 10:43

بعد از دامپ باید exit بذارید تا ریدایرکت نشه

 

 

این مورد رو ازش خروجی بگیرید و خروجی رو در دیتابیس بجای پسورد بذارید


  • 1400/03/18
  • ساعت 11:11
<?php

namespace App\Http\Controllers\Admin;

use System\Auth\Auth;
use App\Http\Controllers\Controller;

class AdminController extends Controller
{

    public function __construct()
    {
        var_dump(print_r(password_hash('your password', PASSWORD_DEFAULT)));
        exit;
        Auth::loginById(1);
        Auth::check();
        if (Auth::user()->user_type != 'admin') {
            redirect('/login');
            exit;
        }
    }

    public function index()
    {
        return view("admin.index");
    }
}

من اینجا از اومدم و گذاشتم و وقتی که این ادرس رو وارد میکنم

http://localhost:8000/admin

بهم این پسورد را داد:

$2y$10$00WUhycCgNrZPGDdN0iUsOAfRZTnEabmv64ls.mRpH7e98rhH1SG6bool

و اینو رفتم به جای پسوردی که تو دیتابیس گذاشته بودم گذاشتم که قبلا بود:

1234567898

 

ولی بازم کار نکرد

 

ایا درست عمل کردم؟


  • 1400/03/18
  • ساعت 11:20

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

توی دیتابیس هش شده گذاشتم با معمولی؟

چون خاطرم نیست


  • 1400/03/18
  • ساعت 11:35

ممنون استاد از پاسخگویتون 

استاد در قسمت 172  دقیقه 11 شما دیتابیس رو نشون میدین و اونجا که من دیدم پسورد رو hash گذاشته اید 

میشه برای این مورد در قسمت اینده یک توضیحی بدید چون من فک کنم خیلی های دیگه این مشکل رو داشته باشند و اگر این کارو کردید لطفا اطلاع بدید که ما نگاه کنیم  چون من تا قسمت 172 ام دیدم


  • 1400/03/18
  • ساعت 11:45

کاربرگرامی ! لطفا به پیام صوتی زیر گوش دهید.


  • 1400/03/19
  • ساعت 10:28

سلام استاد مشکلم حل شد مرسی


  • 1400/03/20
  • ساعت 14:51

با سلام خدمت شما همراه عزیز

 

 

سلامت باشید


logo-samandehi