Spec-Zone.ru › CakePHP 3.8

Класс 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.
  • $whitelistCallback protected
    callable|null
    Обработчик для определения того, нужно ли пропускать проверку маркера для конкретного запроса.

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

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

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

__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 в куки ответа.

Параметры

строка $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 недействителен или отсутствует.

whitelistCallback()source public

whitelistCallback( callable $callback )

Устанавливает обратный вызов для пропуска проверки маркера для конкретного запроса.

Проверка маркера CSRF будет пропущена, если обратный вызов вернёт true.

Параметры

обратный вызов $callback
Функция обратного вызова.

Возвращает


$this

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

$_configsource

protected массив

Настройка

[]

$_defaultConfigsource

protected массив

Значения по умолчанию для обработки CSRF.

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

$whitelistCallbacksource

protected обратный вызов|null

Обработчик для определения того, нужно ли пропускать проверку маркера для конкретного запроса.

Проверка маркера CSRF будет пропущена, если обратный вызов вернёт true.

© 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.8/class-Cake.Http.Middleware.CsrfProtectionMiddleware.html

Spec-Zone.ru

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