Как обработать исключение несоответствия токена, когда пользователь удаляет скрытый токен из firebug?

Я работаю над фреймворком laravel 5.2, поддерживаю и защищаю наш код. Теперь я столкнулся с одной проблемой. Предположим, есть одна форма входа, подобная этой: —

<form id="userLoginForm" method="post" action="{{ url('/login') }}">{{csrf_field()}}
<label>Email: </label>
<input type="text" name="email" autocomplete="off" placeholder="Email" class="input-style" />
<label>Password: </label>
<input type="password" name="password" autocomplete="off" placeholder="Password" class="input-style" />
<input type="submit" class="green-btn-style" value="LOGIN" />

Теперь моя форма будет выглядеть так:
введите описание изображения здесь

Теперь предположим, что я нажимаю кнопку удаления с клавиатуры, теперь токен удален из нашей формы. Теперь, когда я отправляю форму. это покажет мне ожидание несоответствия токена. Но я не хочу показывать эту ошибку хакеру или пользователю ..
Я также реализовал isset, но не работает.
Мой логин: —

if(isset($data['email']) && isset($data['password']) && isset($data['_token']) && Auth::attempt(['email' => $data['email'],'password' => $data['password']])) {
//redirect to dashboard
}

Может кто-нибудь помочь мне, как решить эту проблему.

введите описание изображения здесь

0

Решение

Исключения обрабатываются файлом

app/Exceptions/Handler.php

в Ларавеле. Вы можете ловить исключения Token Mismatch и выполнять нужные действия. Пример кода будет

use Illuminate\Session\TokenMismatchException;

Чтобы поймать только исключение Token Mismatch, вы можете добавить его в метод рендеринга

if ($exception instanceof TokenMismatchException) {

return response()->view('errors.400', [], 400); // load any view of your choice
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector