Spec-Zone.ru › CakePHP 3.4

Класс 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 в куки ответа.
  • _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 в куки ответа.

Параметры

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

Возвращаемое значение

@param
\Cake\Http\Response $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\Network\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–2017 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.4/class-Cake.Http.Middleware.CsrfProtectionMiddleware.html

Spec-Zone.ru

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