2016-11-01 8 views
0

Я пытаюсь работать над проектом в laravel 4.2, но теперь я хотел бы ограничить количество попыток входа для пользователей. Большинство решений являются laravel 5 и не знакомы с 5. так, чтобы кто-нибудь с идеей, пожалуйста, мне нужна ваша помощь. Спасибо.Как ограничить попытки входа для пользователей в laravel 4

$data = Input::all(); 
    $rules = array(
     'username' =>'required|', 
     'password' => 'required|min:6' 
    ); 
    $validator = Validator::make($data, $rules); 
    if($validator->passes()) 
    {    
     $user = array(
      'username'=> Input::get('username'), 
      'password' => Input::get('password'), 
      'active'=>1,       
     ); 

     if(Auth::attempt($user)) 
     { 
       if((Auth::user()->isBuyer())) 
       { 
        return Redirect::route('customer')->with(['success' => 'Welcome <strong style="color:black">'.Auth::user()->name .'</strong>']); 
       } 
       elseif((Auth::user()->isSeller())) 
       { 
        return Redirect::route('seller')->with(['success' => 'Welcome <strong style="color:black">'.Auth::user()->name .'</strong>']); 

       } 
       else 
       { 
        return Redirect::route('dashboard')->with(['success' => 'Welcome <strong style="color:black">'.Auth::user()->name.' </strong>']); 

       }  
     } 
     return Redirect::back() 
      ->with(array(
       'error' => 'Your email and password combination is invalid or Verify your email first' 
      )); 

    } 
    return Redirect::back() 
     ->withInput() 
     ->withErrors($validator); 

} 

, что моя функция контроллера для входа в

+0

Вы можете добавить столбец 'try' в свою пользовательскую таблицу. Увеличивайте его каждый раз, когда пользователь попытался зарегистрировать его и проверить общее количество попыток – Wistar

ответ

0

Существует так много способов сделать это. Но ниже распространены, и я обычно это делаю.

1.) Добавить столбец «попытка» к таблице пользователей и прирастить каждый раз, когда пользователю не удалось войти в систему. Сбросьте столбец до 0, если пользователь успешно вошел в систему.

2.) Создайте сеанс «попытка» и увеличивайте его каждый раз, когда пользователю не удалось войти в систему. Сбросьте сеанс до 0, если пользователь успешно вошел в систему. Вы также можете заблокировать пользователя для входа в систему за х минут.

Но я предпочитаю вариант 1, поэтому пользователь не может войти в систему, даже если он использует другой браузер.

+0

большое спасибо – Tongi

+0

Ваш прием, я надеюсь, что это поможет. –

+0

Я пробовал вариант 1, и он отлично работает, спасибо – Tongi

Смежные вопросы