"Что такое Middleware в Laravel и как их использовать"

Андрей Игнатов
Игнатов Андрей
Founder & Techlead
12 мая 2026
24

Middleware в Laravel — один из важнейших механизмов обработки HTTP-запросов.

С помощью middleware можно:

  • проверять авторизацию;
  • фильтровать запросы;
  • ограничивать доступ;
  • логировать действия;
  • изменять request и response.

В этой статье подробно разберём Laravel middleware и лучшие практики их использования.


Что такое Middleware

Middleware — это промежуточный слой между HTTP request и приложением.

Laravel middleware работает по принципу pipeline:

Request → Middleware → Controller → Response

Где находятся Middleware

Все middleware расположены в:

app/Http/Middleware

Создание Middleware

Команда:

php artisan make:middleware CheckAdmin

Laravel создаст:

app/Http/Middleware/CheckAdmin.php

Пример Middleware

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;

class CheckAdmin
{
    public function handle(Request $request, Closure $next)
    {
        if (!auth()->check()) {
            return redirect('/login');
        }

        return $next($request);
    }
}

Как работает handle()

Метод handle() принимает:

  • Request;
  • Closure $next.

Передача дальше по pipeline:

return $next($request);

Регистрация Middleware

Глобальные Middleware

Регистрируются в:

bootstrap/app.php

Route Middleware

Пример:

Route::middleware(['auth'])->group(function () {

    Route::get('/dashboard', function () {
        //
    });

});

Middleware для группы маршрутов

Route::middleware(['auth', 'verified'])->group(function () {

    //
});

Laravel Auth Middleware

Встроенный middleware:

auth

Используется для защиты маршрутов:

Route::middleware('auth')->group(function () {

    //
});

CSRF Middleware

Laravel автоматически защищает POST-запросы через CSRF middleware.

Blade:

@csrf

Throttle Middleware

Ограничение количества запросов.

Route::middleware('throttle:60,1')->group(function () {

    //
});

Middleware и API

Для API middleware особенно важны:

  • auth:sanctum;
  • throttle;
  • CORS;
  • rate limiting.

Передача параметров в Middleware

Пример:

Route::middleware('role:admin')->group(function () {

    //
});

Middleware terminate()

Laravel поддерживает middleware после ответа пользователю.

Пример:

public function terminate($request, $response)
{
    //
}

Полезно для:

  • логирования;
  • аналитики;
  • очередей.

Лучшие практики Middleware

Рекомендуется:

  • не перегружать middleware логикой;
  • использовать middleware для HTTP-фильтрации;
  • не выполнять тяжёлые SQL-запросы;
  • разделять API и web middleware.

Частые Middleware в Laravel

Самые популярные:

  • auth
  • guest
  • throttle
  • verified
  • sanctum
  • bindings

Итоги

Laravel middleware — фундаментальная часть HTTP pipeline.

Они помогают:

  • защищать маршруты;
  • фильтровать запросы;
  • контролировать доступ;
  • организовывать безопасность приложения.

Понимание middleware обязательно для разработки сложных Laravel-приложений и API.

👉 Заказать бесплатный экспресс-аудит проекта

Задать вопрос

Если у вас возник технический вопрос по нашим статьям или появилась потребность в профессиональной разработке сложного веб-проекта — оставьте свои контакты. Техлид «Команды-А» свяжется с вами, чтобы проконсультировать и помочь найти оптимальное решение.

Нажимая кнопку, вы соглашаетесь с политикой обработки персональных данных.