مشکات
3 سال پیش توسط مشکات مطرح شد
4 پاسخ

لاگین با شماره موبایل

سلام
خسته نباشید
من میخوام کدی بنویسم که کاربر بتونه با شماره موبایل لاگین کنه و بعد یک کد براش ارسال بشه و کاربر اون کد رو وارد کنه و وارد سامانه بشه
میخوام ببینم چطور میشه کدی بنویسم که کاربر برای درخواست دادن برای دریافت کد محدودیت داشته باشه و مثلا در یک ساعت فقط ۴ بار بتونه کد وارد کنه و در غیر ابنصورت به مدت ۲۴ ساعت محدود بشه برای دریافت کد
ممنون میشم راهنماییم کنید دوستان


ثبت پرسش جدید
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 3 سال پیش آپدیت شد
1

مفهوم کلی چیزی که دنبالش هستید بهش میگن 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 میگیره.عددهاش رو هم منطقا و بنابه نیازتون می‌تونید تغییر بدید.


رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 3 سال پیش مطرح شد
مشکات
تخصص : کاراموز
@meshkat315 3 سال پیش مطرح شد
0

@endworld
خیلی سپاسگزارم از راهنماییتون
اما این لینک در مورد اون قسمت سوالم برای محدود کردن کاربر در فرستادن کدهای اشتباه ، توضیحی نداده بود
ممنون میشم در این مورد راهنماییم کنید🌺


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 3 سال پیش آپدیت شد
1

مفهوم کلی چیزی که دنبالش هستید بهش میگن 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 میگیره.عددهاش رو هم منطقا و بنابه نیازتون می‌تونید تغییر بدید.


مشکات
تخصص : کاراموز
@meshkat315 3 سال پیش مطرح شد
1

@mhyeganeh
خیلی خیلی ممنونم از راهنماییتون🌺🌱


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

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