MB
4 سال پیش توسط MB مطرح شد
2 پاسخ

ایجاد limiter در بخش login برای ورود مکرر با استفاده از ajax

سلام خدمت همه دوستان
یه سوال داشتم
چطور موقع ارسال اطلاعات با ajax در لاراول برای login و register برای ورود و تلاش غیر مجاز attempt limiter قرار بدم که بعد از تعداد مشخصی تلاش غیر مجاز تا چند دقیقه از تلاش کاربر جلوگیری کنه
طراحی این کار با php انجام پذیره ولی میخوام که از کلاس های php خود لاراول به صورت trait استفاده کنم و بصورت آماده باشه


ثبت پرسش جدید
محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش آپدیت شد
1

@mohammadbashiri8683
سلام.
باید از میدلویر throttle استفاده کنید.
در مثال زیر، هر IP فقط میتونه 5 بار در 10 دقیقه درخواست ارسال کنه:

Route::group(['prefix' => 'login', 'middleware' => 'throttle:5,10'], function () {

...

});

سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 4 سال پیش آپدیت شد
0

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

use Illuminate\Foundation\Auth\ThrottlesLogins;

if($this->hasTooManyLoginAttempts($request)){

    $this->fireLockoutEvent($request);
    return $this->sendLockoutResponse($request);
    //response()->json(['error'=>'locked few minutes']);

}

$credentials = array('username' => $request->username, 'password' => $request->password);

if(Auth::attempt($credentials, true)){

    return response()->json(['success'=>'successfuly']);

}else{

    response()->json(['error'=>'user or password incorrect']);

}

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

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