Класс FormProtectionComponent
Защищает от подделки форм. Гарантирует, что:
- Действие формы (URL) не изменяется.
- Неизвестные/дополнительные поля не добавляются в форму.
- Существующие поля не удаляются из формы.
- Значения скрытых элементов ввода не изменены.
Константы
-
stringDEFAULT_EXCEPTION_MESSAGE'Form tampering protection token validation failed.'
Сообщения по умолчанию для исключений.
Краткое описание свойств
- $_componentMap protected
array<string, array>Таблица поиска компонентов для ленивой загрузки объектов компонентов.
- $_config protected
array<string, mixed>Конфигурация во время выполнения
- $_configInitialized protected
boolУказывает, была ли конфигурация настроена значениями по умолчанию.
- $_defaultConfig protected
array<string, mixed>Конфигурация по умолчанию
- $_registry protected
Cake\Controller\ComponentRegistryКласс реестра компонентов, используемый для ленивой загрузки компонентов.
- $components protected
arrayДругие компоненты, используемые этим компонентом.
Краткое описание методов
-
__construct() public
Конструктор
-
__debugInfo() public
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
-
__get() public
Магический метод для ленивой загрузки $components.
-
_configDelete() protected
Удаляет один ключ конфигурации.
-
_configRead() protected
Читает ключ конфигурации.
-
_configWrite() protected
Записывает ключ конфигурации.
-
configShallow() public
Объединяет предоставленную конфигурацию с существующей. В отличие от
config(), которая выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение. -
executeCallback() protected
Выполняет обратный вызов.
-
getConfig() public
Возвращает конфигурацию.
-
getConfigOrFail() public
Возвращает конфигурацию для данного ключа.
-
getController() public
Получает контроллер, к которому привязан этот компонент.
-
implementedEvents() public
События, поддерживаемые этим компонентом.
-
initialize() public
Метод обратного вызова конструктора.
-
log() public
Удобный метод для записи сообщения в журнал. Для получения дополнительной информации о записи в журналы см. Log::write().
-
setConfig() public
Устанавливает конфигурацию.
-
startup() public
Запуск компонента.
-
validationFailure() protected
Выбрасывает исключение 400 - Bad request или вызывает пользовательский обратный вызов.
Подробное описание методов
__construct() public
__construct(Cake\Controller\ComponentRegistry $registry, array<string, mixed> $config = [])
Конструктор
Параметры
-
Cake\Controller\ComponentRegistry$registry Регистр компонентов, который этот компонент может использовать для ленивой загрузки своих компонентов.
-
array<string, mixed>$config optional Массив параметров конфигурации.
__debugInfo() public
__debugInfo(): array<string, mixed>
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
array<string, mixed>__get() public
__get(string $name): Cake\Controller\Component|null
Магический метод для ленивой загрузки $components.
Параметры
-
string$name Имя компонента для получения.
Возвращает
Cake\Controller\Component|null_configDelete() protected
_configDelete(string $key): void
Удаляет один ключ конфигурации.
Параметры
-
string$key Ключ для удаления.
Возвращает
voidИсключения
Cake\Core\Exception\CakeExceptionпри попытке перезаписи существующей конфигурации
_configRead() protected
_configRead(string|null $key): mixed
Читает ключ конфигурации.
Параметры
-
string|null$key Ключ для чтения.
Возвращает
mixed_configWrite() protected
_configWrite(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void
Записывает ключ конфигурации.
Параметры
-
array<string, mixed>|string$key Ключ для записи.
-
mixed$value Значение для записи.
-
string|bool$merge optional Истинно для рекурсивного слияния, «shallow» для простого слияния, ложно для перезаписи, по умолчанию ложно.
Возвращает
voidИсключения
Cake\Core\Exception\CakeExceptionпри попытке перезаписи существующей конфигурации
configShallow() public
configShallow(array<string, mixed>|string $key, mixed|null $value = null): $this
Объединяет предоставленную конфигурацию с существующей конфигурацией. В отличие от config(), которая выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.
Устанавливает конкретное значение:
$this->configShallow('key', $value); Устанавливает вложенное значение:
$this->configShallow('some.nested.key', $value); Обновляет несколько параметров конфигурации одновременно:
$this->configShallow(['one' => 'value', 'another' => 'value']);
Параметры
-
array<string, mixed>|string$key Ключ для установки или полный массив конфигураций.
-
mixed|null$value optional Значение для установки.
Возвращает
$thisexecuteCallback() protected
executeCallback(Closure $callback, Cake\Http\Exception\BadRequestException $exception): Cake\Http\Response|null
Выполняет обратный вызов.
Параметры
-
Closure$callback Действительный вызываемый объект
-
Cake\Http\Exception\BadRequestException$exception Экземпляр исключения.
Возвращает
Cake\Http\Response|nullgetConfig() public
getConfig(string|null $key = null, mixed $default = null): mixed
Возвращает конфигурацию.
Использование
Чтение всей конфигурации:
$this->getConfig();
Чтение определенного значения:
$this->getConfig('key'); Чтение вложенного значения:
$this->getConfig('some.nested.key'); Чтение со значением по умолчанию:
$this->getConfig('some-key', 'default-value'); Параметры
-
string|null$key optional Ключ для получения или null для всей конфигурации.
-
mixed$default optional Значение возврата, когда ключ не существует.
Возвращает
mixedgetConfigOrFail() public
getConfigOrFail(string $key): mixed
Возвращает конфигурацию для данного ключа.
Значение конфигурации для данного ключа должно существовать, оно никогда не может быть null.
Параметры
-
string$key Ключ для получения.
Возвращает
mixedИсключения
InvalidArgumentExceptiongetController() public
getController(): Cake\Controller\Controller
Получить контроллер, к которому привязан этот компонент.
Возвращает
Cake\Controller\ControllerimplementedEvents() public
implementedEvents(): array<string, mixed>
События, поддерживаемые этим компонентом.
Использует соглашения для сопоставления событий контроллера с стандартными именами методов обратного вызова компонента. Определяя один из методов обратного вызова, предполагается, что компонент заинтересован в соответствующем событии.
Переопределите этот метод, если вам нужно добавить обработчики событий, не соответствующие соглашениям. Или если вы хотите, чтобы компоненты прослушивали нестандартные события.
Возвращает
array<string, mixed>initialize() public
initialize(array<string, mixed> $config): void
Метод обратного вызова инициализации.
Реализуйте этот метод, чтобы избежать необходимости перезаписывать конструктор и вызывать родительский.
Параметры
-
array<string, mixed>$config Параметры конфигурации, предоставленные этому компоненту.
Возвращает
voidlog() public
log(string $message, string|int $level = LogLevel::ERROR, array|string $context = []): bool
Удобный метод для записи сообщения в журнал. См. Log::write() для получения дополнительной информации о записи в журналы.
Параметры
-
string$message Сообщение журнала.
-
string|int$level optional Уровень ошибки.
-
array|string$context optional Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
boolsetConfig() public
setConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $this
Устанавливает конфигурацию.
Использование
Устанавливает конкретное значение:
$this->setConfig('key', $value); Устанавливает вложенное значение:
$this->setConfig('some.nested.key', $value); Обновляет несколько параметров конфигурации одновременно:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Параметры
-
array<string, mixed>|string$key Ключ для установки или полный массив конфигураций.
-
mixed|null$value optional Значение для установки.
-
bool$merge optional Выполнять рекурсивное слияние или перезаписывать существующую конфигурацию, по умолчанию истинно.
Возвращает
$thisИсключения
Cake\Core\Exception\CakeExceptionПри попытке установить недопустимый ключ.
startup() public
startup(Cake\Event\EventInterface $event): Cake\Http\Response|null
Запуск компонента.
Проверка токена происходит здесь.
Параметры
-
Cake\Event\EventInterface$event Экземпляр события
Возвращает
Cake\Http\Response|nullvalidationFailure() protected
validationFailure(Cake\Form\FormProtector $formProtector): Cake\Http\Response|null
Выбрасывает исключение 400 - Bad request или вызывает пользовательский обратный вызов.
Если указана конфигурация validationFailureCallback, она будет использовать этот обратный вызов, выполняя метод с передачей аргумента в качестве исключения.
Параметры
-
Cake\Form\FormProtector$formProtector Экземпляр Form Protector.
Возвращает
Cake\Http\Response|nullИсключения
Cake\Http\Exception\BadRequestExceptionПодробное описание свойства
$_componentMap protected
Таблица поиска компонентов, используемая для отложенной загрузки объектов компонентов.
Тип
array<string, array>$_config protected
Конфигурация выполнения
Тип
array<string, mixed>$_configInitialized protected
Указывает, была ли конфигурация уже настроена по умолчанию.
Тип
bool$_defaultConfig protected
Конфигурация по умолчанию
-
validate- Нужно ли проверять тело запроса/данные. Установите в значение false, чтобы отключить для данных, поступающих от сторонних служб и т.п. -
unlockedFields- Поля формы, которые следует исключить из проверки. Поля можно разблокировать в компоненте или с помощью FormHelper::unlockField(). Разблокированные поля не обязательны в POST, и скрытые разблокированные поля не проверяются. -
unlockedActions- Действия, которые следует исключить из проверок POST. -
validationFailureCallback- Обработчик для вызова в случае ошибки проверки. Должен быть допустимым замыканием. По умолчанию не задано, в этом случае при ошибке проверки генерируется исключение.
Тип
array<string, mixed>$_registry protected
Класс реестра компонентов, используемый для отложенной загрузки компонентов.
Тип
Cake\Controller\ComponentRegistry$components protected
Другие компоненты, используемые этим компонентом.
Тип
array
© 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/4.3/class-Cake.Controller.Component.FormProtectionComponent.html