آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

فراموش کردن پسورد

مهدی  6 سال پیش  6 سال پیش
+1 0

با سلام من میخوام واسه ورود کاربر قسمت فراموش کردن پسورد رو بسازم و اینکه کاربر با وارد کردن ایمیل بتونه رمز خود را تغییر بده کسی هست بتونه بهم کمک کنه ؟

 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
libcode  6 سال پیش
0 0

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

شما برای این کار کافیست که یک لینک Hash شده را در دیتابیس ذخیره کنید یا بهتره و قشنگ تره که یک جدول در دیتابیس ایجاد کنید و به آن فیلد های (یوزر آیدی و hashLink و زمان انقضا و... ) اضافه کنید و برای هر یوزری که بر روی فراموشی رمز عبور کلیک می کند یک فیلد با این مشخصات ایجاد شود. و اگر اعتبار یعنی زمان انقضا از زمانی که برروی لینک فرستاده شده روی ایمیل و یا (موبایل) گذشته بود و به محض کلیک شدن روی  آن لینک ، آنرا را باطل شده بدانید و از طریق کنترلر user آنرا از دیتابیس حذف کنید. و اگر در زمانی که قبل از انقضا بود روی آن کلیک کرد به یک صفحه ی بازیابی رمز عبور رفته و hash ذخیره شده در لینک (به صورت GET باید باشد) را پردازش کرده و سپس صفحه را نمایش دهد و باز هم می تواند رمز encrypt شود. (به صورت md5) با امنیت بالا. و یادتان باشد کاربر مهمان هم میتواند این کار را انجام دهد. پس به کاربری که شماره یا ایمیل آن صحت دارد می توانید لینک را بفرستید . و قبل از فرستادن شماره تلفن را به این صورت نمایش دهید      0254 *** 0914 و اگر مورد تایید کاربر بود آنرا بفرستید. و  قبل از آن باید نام کاربری وارد شده را از طریق فرم ورود که ناموفق بوده است را بگیرید و با آن اولین query مربوط به کاربر را بگیرید و آیدی آن را در دیتابیس ذخیره کنید . و سپس به فرم بعدی که دارای دکمه ی فراموشی است کاربر را انتقال دهید.


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

0 0
سلام دوست عزیز آموزش چیزی درمورد این موضوع ندارید (6 سال پیش)
0 0
خیر ولی آموزش نیاز ندارید همین خودش بسیار کمک میکنه . در ضمن میشه به پیام خصوصی من پاسخ دهید. (6 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .