Phalcon\Security
Класс Phalcon\Security
Реализует Phalcon\Di\InjectionAwareInterface
Этот компонент предоставляет набор функций для повышения безопасности в приложениях Phalcon
<?php $login = $this->request->getPost("login"); $password = $this->request->getPost("password"); $user = Users::findFirstByLogin($login); if ($user) { if ($this->security->checkHash($password, $user->password)) { // Пароль действителен } }
Константы
const CRYPT_BLOWFISH = 4; const CRYPT_BLOWFISH_A = 5; const CRYPT_BLOWFISH_X = 6; const CRYPT_BLOWFISH_Y = 7; const CRYPT_DEFAULT = 0; const CRYPT_EXT_DES = 2; const CRYPT_MD5 = 3; const CRYPT_SHA256 = 8; const CRYPT_SHA512 = 9; const CRYPT_STD_DES = 1;
Свойства
/** * @var int|null */ protected defaultHash; /** * @var int */ protected numberBytes = 16; /** * @var Random */ protected random; /** * @var string}null */ protected requestToken; /** * @var string|null */ protected token; /** * @var string|null */ protected tokenKey; /** * @var string */ protected tokenKeySessionId = $PHALCON/CSRF/KEY$; /** * @var string */ protected tokenValueSessionId = $PHALCON/CSRF$; /** * @var int */ protected workFactor = 10; /** * @var SessionInterface|null */ private localSession; /** * @var RequestInterface|null */ private localRequest;
Методы
public function __construct( SessionInterface $session = null, RequestInterface $request = null );
Phalcon\Security конструктор
public function checkHash( string $password, string $passwordHash, int $maxPassLength = int ): bool;
Проверяет обычный текстовый пароль и его хэш-версию, чтобы проверить, соответствует ли пароль
public function checkToken( mixed $tokenKey = null, mixed $tokenValue = null, bool $destroyIfValid = bool ): bool;
Проверяет совпадает ли токен CSRF, отправленный в запросе, с текущим сеансом
public function computeHmac( string $data, string $key, string $algo, bool $raw = bool ): string;
Вычисляет HMAC
public function destroyToken(): Security;
Удаляет значение токена CSRF и ключа из сеанса
public function getDefaultHash(): int | null;
Возвращает хэш по умолчанию
public function getRandom(): Random;
Возвращает защищенный экземпляр генератора случайных чисел
public function getRandomBytes(): int;
Возвращает число байтов, генерируемых псевдо-случайным генератором openssl
public function getRequestToken(): string | null;
Возвращает значение токена CSRF для текущего запроса.
public function getSaltBytes( int $numberBytes = int ): string;
Сгенерируйте псевдослучайную строку длиной >22, которая будет использоваться в качестве соли для паролей
public function getSessionToken(): string | null;
Возвращает значение токена CSRF в сеансе
public function getToken(): string;
Генерирует псевдослучайное значение токена, которое будет использоваться в качестве входного значения при проверке CSRF
public function getTokenKey(): string;
Генерирует псевдослучайный ключ токена, который будет использоваться в качестве имени ввода в проверке CSRF
public function getWorkFactor(): int
Получает коэффициент работы
public function hash( string $password, int $workFactor = int ): string;
Создает хэш пароля с помощью bcrypt с псевдослучайной солью
public function isLegacyHash( string $passwordHash ): bool;
Проверяет, является ли хэш пароля действительным хэшем bcrypt
public function setDefaultHash( int $defaultHash ): Security;
Устанавливает хэш по умолчанию
public function setRandomBytes( int $randomBytes ): Security;
Задает число байтов, генерируемых псевдо-случайным генератором openssl
public function setWorkFactor( int $workFactor ): Security;
Устанавливает коэффициент работы