سلام
خسته نباشید
من میخوام کدی بنویسم که کاربر بتونه با شماره موبایل لاگین کنه و بعد یک کد براش ارسال بشه و کاربر اون کد رو وارد کنه و وارد سامانه بشه
میخوام ببینم چطور میشه کدی بنویسم که کاربر برای درخواست دادن برای دریافت کد محدودیت داشته باشه و مثلا در یک ساعت فقط ۴ بار بتونه کد وارد کنه و در غیر ابنصورت به مدت ۲۴ ساعت محدود بشه برای دریافت کد
ممنون میشم راهنماییم کنید دوستان
مفهوم کلی چیزی که دنبالش هستید بهش میگن Rate Limitting
و در لاراول هم این قضیه به زیباترین شکل ممکن پیاده سازی شده که میتونید توضیحات و مثال هاش رو اینجا بخونید:
https://laravel.com/docs/9.x/rate-limiting
بصورت جزئی تر و برای این نیاز خاص هم که اشاره کردید بهترین راهکار به نظرم استفاده از میدل ور throttle به شکل زیر هست:
Route::post('request-code', [SampleController::class, 'request_code' ])
->middleware('throttle:5,10');;
با تعریف میدل ور به شکل بالا برای route که میخواهید کد ارسال کنید، لاراول اجازه ۵ درخواست در هر ۱۰ دقیقه رو به هر کاربر میده و اگر تعدادش بیشتر شد جلوش رو با ارور 429 - Too many requests میگیره.عددهاش رو هم منطقا و بنابه نیازتون میتونید تغییر بدید.
مفهوم کلی چیزی که دنبالش هستید بهش میگن Rate Limitting
و در لاراول هم این قضیه به زیباترین شکل ممکن پیاده سازی شده که میتونید توضیحات و مثال هاش رو اینجا بخونید:
https://laravel.com/docs/9.x/rate-limiting
بصورت جزئی تر و برای این نیاز خاص هم که اشاره کردید بهترین راهکار به نظرم استفاده از میدل ور throttle به شکل زیر هست:
Route::post('request-code', [SampleController::class, 'request_code' ])
->middleware('throttle:5,10');;
با تعریف میدل ور به شکل بالا برای route که میخواهید کد ارسال کنید، لاراول اجازه ۵ درخواست در هر ۱۰ دقیقه رو به هر کاربر میده و اگر تعدادش بیشتر شد جلوش رو با ارور 429 - Too many requests میگیره.عددهاش رو هم منطقا و بنابه نیازتون میتونید تغییر بدید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟