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