غیر فعال کردن bcrypt در لاگین

- 11 ماه پیش
توسط علیرضا اصلانی آپدیت شد
تابش ( 2656 تجربه )
11 ماه پیش

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

بهترین پاسخ انتخاب شده توسط تابش
علیرضا اصلانی
11 ماه پیش

آهان متوجه شدم شما برنامه هاتون فقط دیتابیس مشترکن. شدنی که هست مشکلیم نداره فقط این مدلی کاراتون چندبرابر میشه و یه تغییر توی دیتابیس داده بشه باید هم پنل مدیریت هم نسخه ی وب هم اپلیکیشنتونو کداشو تغییر بدید.

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

علیرضا اصلانی ( 7489 تجربه )
11 ماه پیش

سلام مگه بک اند اپلیکیشن اندرویدتون لاراول نیست؟ همه ی فرایند هش کردن پسورد و چک کردن پسورد رو باید سمت سرور انجام بدید دیگه لازم نیست سمت اندروید مقدار پسورد رو به شکل رمز شده بفرستید مقدار پسورد وارد شده رو به صورت معمولی بفرستید سمت سرور و اونجا همه ی عملیاتارو روش انجام بدین.

تابش ( 2656 تجربه )
11 ماه پیش

نه بک اند php خام هست
و اینطوری که شما میفرمایین نیست
اون روش خودش رو داره
لاراول روش خودش
برا همین باید یه کاری کنیم که هش برداشته بشه
راهی هست که هش را برداریم ؟

Hoom@n ( 539 تجربه )
11 ماه پیش

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

سید رضا موسوی ( 4227 تجربه )
11 ماه پیش

سلام، به نظرم میتونید اصلا از این تابع bcrypt استفاده نکنید، هیچ اتفاق خاصی نمیوفته.

تابش ( 2656 تجربه )
11 ماه پیش

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

علیرضا اصلانی ( 7489 تجربه )
11 ماه پیش

نه اصلا اینکارو نکنید برای چی بدون هش ذخیره کنید پسورداتونو, راه حل خیلی سادس. شما چندجا پسورد رو هش میکنید؟ چون فقط و فقط یک جا باید پسورد هش و مقدارش چک بشه اونم توی بک اندتونه بقیه ی کلاینتا به هیچ وجه نباید پسورد bcrypt شده رو بفرستن سمت سرور! باید مقدار پسوردی که داخل فیلد وارد میکنید رو بدون دستکاری بفرستید به apiتون بعد اون مقدار داخل بکندتون همه ی کارا روش انجام میگیره.

کلا موضوع خیلی سادس شما بک اندتون با phpخام نوشتید و برای وب از لاراول استفاده کردید! و اپلیکیشن اندرویدم دارید که هردوی اینا از یه api استفاده میکنن => مقادیر پسورد هارو هم از طرف لاراول و هم از طرف اپلیکیشنتون بدون هش کردن بفرستید به بک اندتون (همونجا که به زبان php نوشتیدش) بعد داخل اونجا مقدار پسورد رو بگیرید > هش کنید > ذخیره کنید > چک کنید. همین

تابش ( 2656 تجربه )
11 ماه پیش

آقای اصلانی
والا من تالا پروژه اینجوری کار نکردم
رفتم توی یک شرکت بهم گفتن یک نفر یک برنامه نوشته با اندورید و پنل آماده php برای مدیریت هم خریدند
حالا تو باید همین برنامه رو وب اش رو بنویسی با همون دیتابیس های اون آقا
منم اومدم این کار رو انجام دادم و روی هاست آپلود کردیم و هر دو چه اندورید چه وب به یک دیتابیس وصل اند و اصلا api نداریم!
حالا من اصلا نمیدونم این دو تا چون دیتابیشون یکی هست با هم مَچ بشند یا نه ؟
من تالا اینجوری کار نکردم رئیس میگه که اونم اصلا نمیدونه برنامه نویسی چی هست
حالا شما که میدونی بگو اصلا این روش ما درسته و عملی میشه؟
چون یکبار تست کردیم نشد
من یه جور کد نوشتم اون آقا یه جور ولی فقط جدول ها یکی هست
برا همینه که میگم اصلا اینا به هم نمیخورند و دو تا بک اند مختلف دارند

علیرضا اصلانی ( 7489 تجربه )
11 ماه پیش

آهان متوجه شدم شما برنامه هاتون فقط دیتابیس مشترکن. شدنی که هست مشکلیم نداره فقط این مدلی کاراتون چندبرابر میشه و یه تغییر توی دیتابیس داده بشه باید هم پنل مدیریت هم نسخه ی وب هم اپلیکیشنتونو کداشو تغییر بدید.

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

برای ارسال پاسخ باید وارد سایت شوید