محسن مهری
5 سال پیش توسط محسن مهری مطرح شد
6 پاسخ

خطا در ثبت نام کاربر

سلام مهندسین روزتون بخیر
این کد من چه مشکلی داره ؟؟ چون وقتی میخام لاگین کنم میگه که اطلاعات ورود شما با هم مطابقت نداره
میدونم که مشکل در قسمت ذخیره پسورد اما نمیدونم چه مشکلیه و چطوری حلش کنم

// i,m use Illuminate\Support\Facades\Hash;
       $inputs=$request->all();
       $pasword=Str::random(10);
       $user=User::create([
           'name'=>$inputs['name'],
           'email'=>$inputs['email'],
           'level'=>'clerk',
           'password'=>Hash::make($pasword),
       ]);

به این دلیل میدونم مشکلم پسورد چون وقتی دستی توی دیتابیس رمزم رو تغییر میدم مشکلم حل میشه.


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 5 سال پیش مطرح شد
0

خوب مشخصه شما دارید یک رشته random میسازید که احتمالا نمیدونید چی هست و بعد میاید اون رشته random رو هش میکنید ! خوب آیا با ایمیل و اون رشته random لاگین میکنید ؟
قاعدتا نه
پس همونطور که ایمیل و نام رو از کاربر میگیرید باید اینجا password رو هم از کاربر بگیرید و hash بفرمایید


محسن مهری
تخصص : برنامه نویس back-end با زبان...
@mohsen.mehri6101 5 سال پیش آپدیت شد
0

@hesammousavi
سلام - من پسورد رندوم تولید شدم رو برای کاربرم ایمیل میکنم .
فهمیدم مشکلم کجاست اما بلد نیستم چطوری حلش کنم لطفا راهنماییم کنید - چون توی جدول user فیلد passsword توی

protected $hidden = ['password', 'remember_token'];

این قسمت تعریف شده نمیتونم اون رو ست کنم - لطفا راهنمایی کنید بدون اینکه این تنظیمات رو به هم بریزم چطوری پسوردم رو ست کنم ؟


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 5 سال پیش آپدیت شد
0

سلام
محسن جان سوال شما به نظرم‌ درست نمیاد
شما در بخش اول سوالتون یک رشته راندوم رو که خودتون هم نمیدونین چیه میسازی و هش میکنی و بعد ذخیره که اینجا اقای موسوی گفتن مشکلتون و نحوه رفعش حالا شما در بخش دوم مشکل تون رو مرتبط با مخفی کردن فیلد پسورد در مدل یوزر میدونین چرا؟!( این پراپرتی برای اینکه هروقت شما اطلاعات کاربر رو خواستین همه ی فیلدها رو بهتون برگردونه جز اون دوتایی که تویی ارایه پراتکت هستن)

در ادامه بحث شما برای کاربر یک رمز تصادفی ایجاد میکنیدو هش و در ادامه براش ذخیره میکنین حالا براش همون رمز تصادفی و هش نشده رو ایمیل میکنین درسته؟ حالا مشکل چیه؟ در اصل این روش باید کار کنه درسته؟ یا مشکل دارین باهاش؟؟


Reza Jashnsaz
تخصص : مهندس نرم افزار
@rezajashnsaz0011 5 سال پیش مطرح شد
0

کد چک کردن اطلاعات کاربر موقع لاگینو بذار


محسن مهری
تخصص : برنامه نویس back-end با زبان...
@mohsen.mehri6101 5 سال پیش آپدیت شد
0

@juza66
@rezajashnsaz0011
سلام @juza66 بله آقای موسوی درست میگید من یکم بد توضیح دادم اشکالم رو
یک توضیح مختصر بدم - توی سایت من یک مدیر میخاد چندتا پشتیبان برای پنل خودش تعریف کنه
من طوری پیاده سازی کردم که وقتی مدیر خواست یک پشتیبان تعریف کنه فقط کافیه اطلاعات اون پشتیبان ( نام - ایمیل - شماره تلفن) رو وارد کنه - و من توی جدول یوزر یک کاربر با این مشخصات رو ذخیره میکنم و یک رمز تصادفی برای اون تولید میکنم.
و یوزر و پسورد رو برای اون ایمیل میکنم تا بتونه بعدا لاگین کنه.
حالا من این پسورد رو که تولید میکنم مشکلی نداره تولید میشه حتی به صورت حش شده توی جدول ذخیره میشه .اما زمانی که میخام لاگین کنم میگه اطلاعات شما با هم تطابق نداره(و میدونم این ارور از پسورد تولید شده است، چون به صورت دستی وقتی توی مای اسکیوال یک پسورد از قبل تعریف شده رو جایگزین میکنم درست میشه )( و جالبه بعضی وقتا ولی درست پسورد تولید میشه و کار میکنه)
من به جدول لاگین هم دستی نزدم - یعنی همون login controller پیش فرض هستش.

public function clerk_store(Requests $requests){}
$inputs=$request->all();
$password=Str::random(8);
$user = new User();
$user->password = Hash::make($password);
$user->email =$inputs['email'];
$user->name =$inputs['name'];
$user->level='clerk';
$user->active=false;
$user->save();
}

سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 5 سال پیش آپدیت شد
1

شما به جای استفاده از متد هش hash از متد bcrypt استفاده کن


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام