دوستان سلام!
در قسمت لاگین با شماره تلفن ، بعد از وارد کردن تلفن ، پیامک برای طرف ارسال میشه.
هر پیامک مبلغی از شارژ پنل کسر میکنه ، راه کار پیشنهادی برای جلوگیری از سو استفاده گر ها چیه؟
نکته: لاگین و ثبت نام یکی هستند ، یعنی بعد از وارد کردن شماره ، کد ارسال میشه و بعد از ارسال کد ، بررسی میشه اگر وجود داشت لاگین میشه اگر نبود ، ایجاد بعد لاگین میشه.
سلام وقتتون بخیر!
توی لارول یک سری middleware هست یکی از اونا به اسم throttle هست
Route::post("/sendsms", function (Request $request) {
return Sms::sendSms($request->phone);
})->middleware("throttle:2,1");
کد بالا برای هر بار استفاده ۱ دقیقه وقفه نیاز داره.
برای تلاش دوم یک دقیقه مکث کن.
@Rp76
متشکرم از پاسخ زیبای شما
Route::post('/login/phone', 'Auth\loginController@phoneSendMassage')->middleware("throttle:2,1");
حالا کد من این طوری شد.
یک روش دیگه اش اینه که شما کدی که برای شماره همراه کاربر میفرستی تاریخچه اش رو توی دیتابیس داشته باشی.
قبل از ارسال و ایجاد کد پیامکی اول دیتابیس براساس شماره موبایل وارد شده بررسی بشه اگر توی روز بیش از 3 بار درخواست زده بود بار سوم بهش یک پیام نمایش بدین که کد همان کدقبلی که برای شما پیامک شده هستش. یعنی توی روز محدودش کنی به ارسال فقط سه پیامک.
از سیستم otp برای ارسال پیامک ها استفاده کنی و مطمن باشی حتما پیامک برای کاربرانی که پیامک تبلیغاتی رو بستن ارسال میشه.
شماره موبایل رو هم براساس فرمت صحیح با regex چک کنی.
سومی روش هم محدودیت گذاشتن روی route مورد نظر هستش که رضا پارسیان گفتن. ولی اگر از livewire استفاده میکنی این روش رو نمیتونی اجراش کنی باید با یک ترفندی خودت توی کامپونت لایووایری محدودش کنی
و ...
@juza66
متشکرم ، دارم از otp اتفاده میکنم.
پیشنهاد ثبت در دیتابیس خودم هم ایده جالبیه.
برای livewire هم فقط جاهایی که نیاز به real time بود استفاده کردم ، صفحه لاگین نیاز نبود.
بیشتر این نکته که کاربر چند بار بفرسته برای من اهمیت نداره ، نگران این هستم که با یک اسکریپت و لیست زیادی شماره تلفن اقدام به اذیت کنند.
نکته این هست که اکثر سایت ها نشان میدن که بعد از دو دقیقه ، کد تایید رو دوباره میفرستن، ولی این دو دقیقه فقط سمت کلاینت هست و سمت بکند بررسی نمیشه، من چندتا سایت مثل اسنپ و امیگو و پنتل امتحان کردم و هیچ کدوم سمت بکند بررسی نکردن
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟