Spec-Zone.ru › CakePHP 3.6

Класс CsrfProtectionMiddleware

Обеспечивает защиту и валидацию CSRF.

Этот промежуточный обработчик добавляет маркер CSRF в cookie. Значение cookie сравнивается с данными запроса или с заголовком X-CSRF-Token для каждого запроса PATCH, POST, PUT или DELETE.

Если данные запроса отсутствуют или не совпадают с данными cookie, будет поднято исключение InvalidCsrfTokenException.

Этот промежуточный обработчик автоматически интегрируется с FormHelper, и при использовании вместе ваши формы будут автоматически добавлять маркеры CSRF, когда $this->Form->create(...) используется в представлении.

Пространство имён: Cake\Http\Middleware
Расположение: Http/Middleware/CsrfProtectionMiddleware.php

Краткое описание свойств

  • $_config protected
    array
    Настройка
  • $_defaultConfig protected
    array
    Настройка по умолчанию для обработки CSRF.

Краткое описание методов

  • __construct() public
    Конструктор
  • __invoke() public
    Проверяет и устанавливает маркер CSRF в зависимости от HTTP-метода.
  • _addTokenCookie() protected
    Добавляет маркер CSRF в cookie ответа.
  • _addTokenToRequest() protected
    Добавляет маркер CSRF в параметры запроса.
  • _createToken() protected
    Создаёт новый маркер для защиты CSRF
  • _validateAndUnsetTokenField() protected
    Проверяет, является ли запрос POST, PUT, DELETE или PATCH и валидирует маркер CSRF
  • _validateToken() protected
    Валидирует данные запроса относительно маркера cookie.

Подробное описание методов

__construct()source public

__construct( array $config = [] )

Конструктор

Параметры

массив $config необязательно []
Параметры конфигурации. См. $_defaultConfig для допустимых ключей.

__invoke()source public

__invoke( Cake\Http\ServerRequest $request , Cake\Http\Response $response , callable $next )

Проверяет и устанавливает маркер CSRF в зависимости от HTTP-метода.

Параметры

Cake\Http\ServerRequest $request
Запрос.
Cake\Http\Response $response
Ответ.
вызов $next
Обратный вызов для вызова следующего промежуточного обработчика.

Возвращает

Cake\Http\Response
Ответ

_addTokenCookie()source protected

_addTokenCookie( string $token , Cake\Http\ServerRequest $request , Cake\Http\Response $response )

Добавляет маркер CSRF в cookie ответа.

Параметры

строка $token
Маркер для добавления.
Cake\Http\ServerRequest $request
Запрос для валидации.
Cake\Http\Response $response
Ответ.

Возвращает

Cake\Http\Response
Изменённый ответ.

_addTokenToRequest()source protected

_addTokenToRequest( string $token , Cake\Http\ServerRequest $request )

Добавляет маркер CSRF в параметры запроса.

Параметры

строка $token
Маркер для добавления.
Cake\Http\ServerRequest $request
Запрос для дополнения

Возвращает

Cake\Http\ServerRequest
Изменённый запрос

_createToken()source protected

_createToken( )

Создаёт новый маркер для защиты CSRF

Возвращает

строка

_validateAndUnsetTokenField()source protected

_validateAndUnsetTokenField( Cake\Http\ServerRequest $request )

Проверяет, является ли запрос POST, PUT, DELETE или PATCH и валидирует маркер CSRF

Параметры

Cake\Http\ServerRequest $request
Объект запроса.

Возвращает

Cake\Http\ServerRequest

_validateToken()source protected

_validateToken( Cake\Http\ServerRequest $request )

Валидирует данные запроса относительно маркера cookie.

Параметры

Cake\Http\ServerRequest $request
Запрос для валидации.

Выбрасывает

Cake\Http\Exception\InvalidCsrfTokenException
При невалидном или отсутствующем маркете CSRF.

Подробное описание свойств

$_configsource

protected массив

Настройка

[]

$_defaultConfigsource

protected массив

Настройка по умолчанию для обработки CSRF.

  • cookieName Имя cookie для отправки.
    • expiry Совместимое со строковым значением время, в течение которого должен существовать маркер CSRF. По умолчанию — сессия браузера.
    • secure Указывает, будет ли устанавливаться флаг Secure для cookie. По умолчанию — false.
    • httpOnly Указывает, будет ли устанавливаться флаг HttpOnly для cookie. По умолчанию — false.
    • field Поле формы для проверки. Изменение этого также потребует настройки FormHelper.
[
    'cookieName' => 'csrfToken',
    'expiry' => 0,
    'secure' => false,
    'httpOnly' => false,
    'field' => '_csrfToken',
]

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.6/class-Cake.Http.Middleware.CsrfProtectionMiddleware.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API