🔥جمعه سیاه در راکت با (( ۷۰ درصد )) تخفیف! این فرصت دیگه تکرار نمیشه
مشاهده دورههاسلام
خسته نباشید
من میخوام کدی بنویسم که کاربر بتونه با شماره موبایل لاگین کنه و بعد یک کد براش ارسال بشه و کاربر اون کد رو وارد کنه و وارد سامانه بشه
میخوام ببینم چطور میشه کدی بنویسم که کاربر برای درخواست دادن برای دریافت کد محدودیت داشته باشه و مثلا در یک ساعت فقط ۴ بار بتونه کد وارد کنه و در غیر ابنصورت به مدت ۲۴ ساعت محدود بشه برای دریافت کد
ممنون میشم راهنماییم کنید دوستان
مفهوم کلی چیزی که دنبالش هستید بهش میگن 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 میگیره.عددهاش رو هم منطقا و بنابه نیازتون میتونید تغییر بدید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟