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

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

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


ثبت پرسش جدید
vahid Mohammadi
@viva.mohammadi 6 سال پیش مطرح شد
0

@hamedbaftam

سلام مجدد :)
در راستای سوال قبلیتون در مورد ولیدیشن یه تغییر کوچیک بدید این مشکلتون رو هم حل می کنه

 'mobile' => 'required|regex:/(0)[0-9]{10}/|digits:11|unique:users'

اون unique میاد و در جدول users نگاه می کنه که این شماره موبایل قبلا ثبت نام نکرده باشه و کد تایید رو گرفته یکبار.
حالا اگر فراموش کرده می تونه بره و درخواست ارسال مجدد کد رو بزنه. حالا باز اگر می خواین که اون کار رو تکرار نکنه می تونید Throttle رو برای پسورد ریست تنظیم کنید.
مثل مثال زیر :

https://alfrednutile.info/posts/194

jamshid
@jamshid 6 سال پیش مطرح شد
0

@viva.mohammadi
فکر کنم منظور منو متوجه نشدید منظورم اینه یه کاربر بخاد هی ازیت کنه ودرخاست کد کنه و هی sms بره هزینه الکی نشه


vahid Mohammadi
@viva.mohammadi 6 سال پیش مطرح شد
0

@hamedbaftam
ببینیداگر منظورتون از درخواست کد ارسال پسورد هست شما که نمی تونید پسورد رو از دیتابیس بخونید و براش ارسال کنید چون کد شده هست مجبورید ریست کنید وقتی پسورد رو ریست می کنید  فیلد updated_atبه تاریخ روز آپدیت میشه حالا شما یک فیلد دارید که داره به شما نشون میده مثلا امروز این رکورد آپدیت شده می تونید با مقایسه این فیلد بفهمید که امروز پسورد رو تغییر داده یا نه؟ این یه روش مبتنی بر تنبلی هست که نخواهید یک جدول جداگانه برای کنترل این موضوع ایجاد کنید و اون رو چک کنید. البته به نقطه ضعف هم داره و اون اینه که اگر کاربرتون یه فیلد دیگه مثل اسمش رو هم تغییر بده این شرط true میشه.
اما اگه بخواین اصولی تر کار کنید یا از throttle باید استفاده کنید یا اینکه یک جدول بایگانی ارسال کد درست کنید که آخرین دفعه ارسال کد رو در اون نگاه کنید و تصمیم بگیرید.


jamshid
@jamshid 6 سال پیش مطرح شد
0

عزیز منظورم از ارسال کد. کد وریفای هست . اصلا متوجه نشدید منظورم رو


arazsalmasi
@araz2salmasi 6 سال پیش مطرح شد
0

دوست عزیز میتونی یه تایمر بزاری و بگی مثلا با لمس کردن دکمه کد ارسال بشه و تایمر فعال بشه و مثلا زمان تایمر باشه 30 ثانیه تموم شد این زمان دوباره دکمه فعال بشه


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

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