Как отключить проверку csrf laravel
В статье рассматривается процесс отключения проверки CSRF в Laravel посредством использования исключений и исключения маршрутов из проверки CSRF. На примере рассматривается использование исключений и исключения маршрутов для отключения проверки CSRF.
Отключение проверки CSRF в Laravel
Cross-site Request Forgery (CSRF) - это атака, которая происходит при помощи использования поддельных запросов для выполнения действий от имени другого пользователя. Противодействие CSRF в Laravel предоставляется в виде интегрированных механизмов защиты. Они позволяют автоматически проверять все HTTP-запросы, поступающие на сервер, и предотвращать подобные атаки. Хотя проверка CSRF в Laravel предоставляет нам дополнительный уровень защиты, иногда мы можем иметь необходимость отключить ее.
В следующем фрагменте кода мы можем увидеть, как отключить проверку CSRF для указанного роута:
Route::post('/login', [ 'uses' => 'AuthController@login', 'as' => 'auth.login', 'middleware' => 'disableCsrf', ]); // Внутри класса AppHttpKernel.php protected $routeMiddleware = [ ... 'disableCsrf' => AppHttpMiddlewareDisableCsrf::class, ]; // Внутри класса AppHttpMiddlewareDisableCsrf.php public function handle($request, Closure $next) { return $next($request); }
В этом примере мы создаем пользовательский посредник disableCsrf, который мы присваиваем роуту /login. В этом посреднике нет никаких действий, так что он просто пропускает запрос, не проверяя проверку CSRF. Таким образом, мы можем легко отключить проверку csrf для любого роута, просто добавив посредник disableCsrf к нему.