Spec-Zone.ru › CakePHP 2.7

Класс SecurityComponent

Компонент Security обеспечивает простой способ интеграции более строгой безопасности в ваше приложение. Он предоставляет методы для различных задач, таких как:

  • Ограничение HTTP-методов, которые ваше приложение принимает.
  • Защита от CSRF.
  • Защита от подделки форм
  • Требование использования SSL.
  • Ограничение межконтроллерной коммуникации.
Объект
Extended by Компонент
Extended by SecurityComponent
Пакет: Cake\Контроллер\Компонент
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Ссылка: http://book.cakephp.org/2.0/en/core-libraries/components/security-component.html
Расположение: Cake/Controller/Component/SecurityComponent.php

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

_authRequiredисходный код защищённый

_authRequired( Controller $controller )

Проверка необходимости аутентификации

Параметры

Controller $controller
Создаваемый контроллер

Возвращает

boolean|null
True, если аутентификация необходима

_callbackисходный код защищённый

_callback( Controller $controller , string $method , array $params array() )

Вызывает метод обратного вызова контроллера

Параметры

Controller $controller
Контроллер, на котором будет вызван обратный вызов
строка $method
Метод для выполнения
массив $params необязательно массив()
Параметры для передачи методу

Возвращает

mixed
Ответ метода обратного вызова контроллера

Исключения

BadRequestException
При ошибке вызова blackholeCallback.

_expireTokensисходный код защищённый

_expireTokens( array $tokens )

Истекает срок действия CSRF nonces и удаляет их из допустимых токенов. Использует простой таймаут для истечения срока действия токенов.

Параметры

массив $tokens
Массив nonce => expires.

Возвращает

array
Массив nonce => expires.

_methodsRequiredисходный код защищённый

_methodsRequired( Controller $controller )

Проверка необходимости HTTP-методов

Параметры

Controller $controller
Создаваемый контроллер

Возвращает

boolean
True, если метод $method необходим

_requireMethodисходный код защищённый

_requireMethod( string $method , array $actions array() )

Устанавливает действия, требующие HTTP-запрос $method, или пустой массив для всех действий

Параметры

строка $method
HTTP-метод для назначения действий контроллера
массив $actions необязательно массив()
Действия контроллера, для которых устанавливается требуемый HTTP-метод.

_secureRequiredисходный код защищённый

_secureRequired( Controller $controller )

Проверка необходимости безопасного соединения

Параметры

Controller $controller
Создаваемый контроллер

Возвращает

boolean
True, если необходимо безопасное соединение

_validateCsrfисходный код защищённый

_validateCsrf( Controller $controller )

Проверка наличия CSRF-токена в данных POST контроллера и его легитимности/отсутствия истечения срока действия. Если токен действителен, он будет удалён из списка допустимых токенов.

Параметры

Controller $controller
Контроллер для проверки

Возвращает

boolean
Действительный CSRF-токен.

_validatePostисходный код защищённый

_validatePost( Controller $controller )

Проверка отправленной формы

Параметры

Controller $controller
Создаваемый контроллер

Возвращает

boolean
true, если отправленная форма действительна

blackHoleисходный код публичный

blackHole( Controller $controller , string $error '' )

Блокирует недействительный запрос с ошибкой 400 или пользовательским обратным вызовом. Если SecurityComponent::$blackHoleCallback указан, он будет использовать этот обратный вызов, выполнив метод, указанный в $error

Параметры

Controller $controller
Создаваемый контроллер
строка $error необязательно ''
Метод ошибки

Возвращает

mixed
Если указан, ответ blackHoleCallback контроллера, в противном случае ничего не возвращает

Исключения

BadRequestException
BadRequestException

См. также

SecurityComponent::$blackHoleCallback

Ссылка

http://book.cakephp.org/2.0/en/core-libraries/components/security-component.html#handling-blackhole-callbacks

generateTokenисходный код публичный

generateToken( CakeRequest $request )

Вручную добавляет информацию о CSRF-токене в предоставленный объект запроса.

Параметры

CakeRequest $request
Объект запроса, в который добавить информацию.

Возвращает

boolean
bool

requireAuthисходный код публичный

requireAuth( )

Устанавливает действия, требующие предоставления формы с разрешёнными данными.

Добавление действий с помощью этого метода применит ограничения, заданные в SecurityComponent::$allowedControllers и SecurityComponent::$allowedActions.

Ссылка

http://book.cakephp.org/2.0/en/core-libraries/components/security-component.html#SecurityComponent::requireAuth

requireDeleteисходный код публичный

requireDelete( )

Устанавливает действия, требующие DELETE-запрос, или пустой массив для всех действий

Устаревшее

3.0.0 Используйте CakeRequest::onlyAllow() вместо этого.

requireGetисходный код публичный

requireGet( )

Устанавливает действия, требующие GET-запрос, или пустой массив для всех действий

Устаревшее

3.0.0 Используйте CakeRequest::onlyAllow() вместо этого.

requirePostисходный код публичный

requirePost( )

Устанавливает действия, требующие POST-запрос, или пустой массив для всех действий

Устаревшее

3.0.0 Используйте CakeRequest::onlyAllow() вместо этого.

Ссылка

http://book.cakephp.org/2.0/en/core-libraries/components/security-component.html#SecurityComponent::requirePost

requirePutисходный код публичный

requirePut( )

Устанавливает действия, требующие PUT-запрос, или пустой массив для всех действий

Устаревшее

3.0.0 Используйте CakeRequest::onlyAllow() вместо этого.

requireSecuresource public

requireSecure( )

Устанавливает действия, требующие защищенного по протоколу SSL запроса, или пустое значение для всех действий

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/components/security-component.html#SecurityComponent::requireSecure

startupsource public

startup( Controller $controller )

Запуск компонента. Все проверки безопасности выполняются здесь.

Параметры

Controller $controller
Экземпляр контроллера

Переопределяет

Component::startup()

Методы, унаследованные от Component

__constructsource public

__construct( ComponentCollection $collection , array $settings array() )

Конструктор

Параметры

ComponentCollection $collection
Объект ComponentCollection, который этот компонент может использовать для ленивой загрузки своих компонентов
массив $settings необязательно массив()
Массив параметров конфигурации.

Переопределяет

Object::__construct()

__getsource public

__get( string $name )

Магический метод для ленивой загрузки $components.

Параметры

строка $name
Имя компонента для получения.

Возвращает

mixed
Объект Component или null.

beforeRedirectsource public

beforeRedirect( Controller $controller , string|array $url , integer $status null , boolean $exit true )

Вызывается перед Controller::redirect(). Позволяет заменить URL, на который будет выполнено перенаправление, новым URL. Результат этого метода может быть массивом или строкой.

Если результат — массив и содержит ключ 'url', вы также можете указать:

  • status Код состояния перенаправления
  • exit Выполнять ли выход после перенаправления.

Если ваш ответ — строка или массив, не содержащий ключа 'url', он будет использован в качестве нового URL для перенаправления.

Параметры

Controller $controller
Контроллер с компонентами для beforeRedirect
строка|массив $url
Строка или массив URL, на который выполняется перенаправление.
целое число $status необязательно null
Код состояния перенаправления
булево $exit необязательно true
Выполнять ли выход после перенаправления.

Возвращает

array|null
Массив или null.

Ссылка

http://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRedirect

beforeRendersource public

beforeRender( Controller $controller )

Вызывается перед Controller::beforeRender(), перед загрузкой класса представления и перед Controller::render()

Параметры

Controller $controller
Контроллер с компонентами для beforeRender

Ссылка

http://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRender

initializesource public

initialize( Controller $controller )

Вызывается перед Controller::beforeFilter().

Параметры

Controller $controller
Контроллер с компонентами для инициализации

Ссылка

http://book.cakephp.org/2.0/ru/controllers/components.html#Component::initialize

shutdownsource public

shutdown( Controller $controller )

Вызывается после Controller::render() и перед выводом результата в браузер.

Параметры

Controller $controller
Контроллер с компонентами для завершения работы

Ссылка

http://book.cakephp.org/2.0/ru/controllers/components.html#Component::shutdown

Методы, унаследованные от Object

_mergeVarssource protected

_mergeVars( array $properties , string $class , boolean $normalize true )

Объединяет свойства этого объекта $property со свойствами в определении $class. Значение этого свойства для класса будет объединено поверх $class'.

Это обеспечивает некоторые возможности DRY, предоставляемые CakePHP. Если вы хотите их отключить, переопределите этот метод как пустую функцию.

Параметры

массив $properties
Имя свойств для объединения.
строка $class
Класс для объединения свойств с.
булево $normalize необязательно true
Установите в значение true, чтобы запустить свойства через Hash::normalize() перед объединением.

_setsource protected

_set( array $properties array() )

Позволяет установить несколько свойств объекта в одной строке кода. Будет установлены только те свойства, которые являются частью объявления класса.

Параметры

массив $properties необязательно массив()
Ассоциативный массив, содержащий свойства и соответствующие значения.

_stopsource protected

_stop( integer|string $status 0 )

Останавливает выполнение текущего скрипта. Оборачивает exit(), что упрощает тестирование.

Параметры

целое число|строка $status необязательно 0
см. http://php.net/exit для значений

dispatchMethodsource public

dispatchMethod( string $method , array $params array() )

Вызывает метод этого объекта с заданными параметрами. Предоставляет ОО-обертку для call_user_func_array

Параметры

строка $method
Имя вызываемого метода
массив $params необязательно массив()
Список параметров, используемых при вызове $method

Возвращает

mixed
Возвращает результат вызова метода

logsource public

log( string $msg , integer $type LOG_ERR , null|string|array $scope null )

Удобный метод для записи сообщения в CakeLog. Для получения дополнительной информации о записи в журналы, см. CakeLog::write().

Параметры

строка $msg
Сообщение журнала
целое число $type необязательно LOG_ERR
Константа типа ошибки. Определена в app/Config/core.php.
null|строка|массив $scope необязательно null
Область(и), в которой создается сообщение журнала. Для получения дополнительной информации о областей ведения журнала, см. CakeLog::config().

Возвращает

boolean
Успешность записи в журнал
END_OF_DOCUMENT_MARKER

requestActionsource public

requestAction( string|array $url , array $extra array() )

Вызывает метод контроллера из любой точки. Может использоваться для подключения контроллеров друг к другу или для связывания плагинов с основным приложением. requestAction может использоваться для возвращения отрисованных представлений или получения возвращаемого значения действий контроллера.

Внутри метод использует Router::reverse() для преобразования параметра $url в строковый URL. Вы должны использовать форматы URL, совместимые с Router::reverse().

Передача данных POST и GET

Данные POST и GET могут быть смоделированы в requestAction. Используйте $extra['url'] для данных GET. Параметр $extra['data'] позволяет моделировать данные POST.

Параметры

строка|массив $url
URL в виде строки или массива. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать передаваемые и именованные аргументы в параметре $url.
массив $extra необязательно массив()
Если массив включает ключ "return", он устанавливает AutoRender в true. Также может использоваться для отправки данных GET/POST, а также именованных/переданных аргументов.

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

mixed
Булево значение true или false при успехе/неудаче или содержимое отрисованного действия, если в $extra установлен ключ 'return'.

toStringsource public

toString( )

Преобразование объекта в строку. Каждый класс может переопределить этот метод по мере необходимости.

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

string
Имя этого класса

Резюме свойств

$_actionsource

protected string

Содержит текущее действие контроллера

null

$allowedActionssource

public array

Действия, из которых действия текущего контроллера разрешено принимать запросы.

См.

SecurityComponent::requireAuth()
array()

$allowedControllerssource

public array

Контроллеры, из которых действия текущего контроллера разрешено принимать запросы.

См.

SecurityComponent::requireAuth()
array()

$blackHoleCallbacksource

public string

Метод контроллера, который будет вызван, если запрос будет проигнорирован (black-hole'd)

null

$componentssource

public array

Другие компоненты, используемые компонентом Security

array('Session')

$csrfChecksource

public boolean

Использовать формы с защитой от CSRF. Установите в значение false, чтобы отключить защиту от CSRF для форм.

См.

http://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)
SecurityComponent::$csrfExpires
true

$csrfExpiressource

public string

Срок действия токена CSRF с момента его создания. Каждый запрос формы/страницы генерирует новый токен, который может быть отправлен только один раз, если он не истек. Может принимать любое значение, совместимое с strtotime()

'+30 minutes'

$csrfLimitsource

public integer

Управление количеством открытых токенов у пользователя. Это особенно полезно с одноразовыми токенами. Поскольку новые токены создаются при каждом запросе, жесткое ограничение на количество открытых токенов может быть полезно для контроля размера файла сессии.

При удалении токенов сначала удаляются самые старые, так как они с большей вероятностью уже просрочены/недействительны.

100

$csrfUseOncesource

public boolean

Управляет тем, используются ли токены CSRF однократно. Установите в значение false, чтобы не генерировать новые токены при каждом запросе. Один токен будет повторно использован, пока не истечёт. Это уменьшает вероятность получения пользователями недействительных запросов из-за исчерпания токенов. Вместе с этим это снижает безопасность CSRF, так как токены можно повторно использовать.

true

$disabledFieldssource

public array

Устаревшее свойство, заменено на unlockedFields.

Устарело

3.0.0 Заменено на unlockedFields.

См.

SecurityComponent::$unlockedFields
array()

$requestsource

public CakeRequest

Объект запроса

$requireAuthsource

public array

Список действий, которые требуют валидного ключа авторизации

См.

SecurityComponent::requireAuth()
array()

$requireDeletesource

public array

Список действий контроллера, для которых требуется запрос DELETE

Устарело

3.0.0 Используйте CakeRequest::allowMethod() вместо этого.

См.

SecurityComponent::requireDelete()
array()

$requireGetsource

public array

Список действий контроллера, для которых требуется запрос GET

Устарело

3.0.0 Используйте CakeRequest::allowMethod() вместо этого.

См.

SecurityComponent::requireGet()
array()

$requirePostsource

public array

Список действий контроллера, для которых требуется запрос POST

Устарело

3.0.0 Используйте CakeRequest::allowMethod() вместо этого.

См.

SecurityComponent::requirePost()
array()

$requirePutsource

public array

Список действий контроллера, для которых требуется запрос PUT

Устарело

3.0.0 Используйте CakeRequest::allowMethod() вместо этого.

См.

SecurityComponent::requirePut()
array()

$requireSecuresource

public array

Список действий, которые требуют подключения с использованием SSL

См.

SecurityComponent::requireSecure()
array()

$unlockedActionssource

public array

Действия, которые нужно исключить из проверок CSRF и валидации POST. Другие проверки, такие как requireAuth(), requireSecure(), requirePost(), requireGet() и т. д., все равно будут применяться.

array()

$unlockedFieldssource

public array

Поля формы, которые нужно исключить из проверки POST. Поля могут быть разблокированы в компоненте или с помощью FormHelper::unlockField(). Разблокированные поля не требуют наличия в POST, и значения разблокированных скрытых полей не проверяются.

array()

$validatePostsource

public boolean

Проводить ли валидацию данных POST. Установите в false для отключения при получении данных от сторонних сервисов и т.п.

true

Свойства, унаследованные от Component

$_Collectionsource

protected ComponentCollection

Коллекция компонентов, используемая для ленивой загрузки компонентов.

$_componentMapsource

protected массив

Таблица поиска компонентов, используемая для ленивой загрузки объектов компонентов.

array()

$settingssource

public массив

Настройки для этого компонента

array()

© 2005–2016 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.
http://api.cakephp.org/2.7/class-SecurityComponent.html

Spec-Zone.ru

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