Сервис Csrf фреймворка HLEB2 предназначен для защиты от атак CSRF(Сross-Site Request Forgery), основанных на межсайтовых подделках запроса пользователей.
Принцип защиты представлен во фреймворке передачей токена через frontend приложения и одновременно с сохранением значения токена в сессию пользователя. Значения эти будут сверены фреймворком, чтобы убедиться, что пользователь пришел со страницы, где этот токен был установлен, в противном случае будет выведено сообщение об ошибке.
Чтобы фреймворк проверял переданный токен необходимо к целевому маршруту добавить метод protect().
Способы использования сервиса Csrf в контроллерах (и всех классах, унаследованных от Hleb\Base\Container) на примере получения хеш-кода для проверки запроса:
Пример обращения к сервису Csrf в коде шаблонов:
Для шаблонизатора TWIG:
Также объект Csrf может быть получен через внедрение зависимостей по интерфейсу Hleb\Reference\Interface\Csrf.
Метод token() возвращает уникальный токен сеанса пользователя.
Метод field() возвращает HTML-контент для вставки в форму для передачи токена с другими данными.
При помощи этого метода можно проверить вручную токен (если защита не включена в маршруте).
← Получение настроек Преобразование в PSR →