Здравствуйте! Реализую авторизацию на сайте и CSRF защиту, и не уверен, правильно ли сделал.
Авторизация:
В БД у пользователя есть поле authKey, при авторизации создается кука authKey со значением поля. authKey - случайная строка, сформированная криптостойким алгоритмом, 32 байта. Кука никак не зашифрована - нормально ли это?
CSRF:
Создание токена
public function generateCSRF() {
$strong = true;
if (!isset($_SESSION["csrf"])) {
$_SESSION["csrf"] = bin2hex(openssl_random_pseudo_bytes(32, $strong));
}
return $_SESSION["csrf"];
}
Проверка:
public function checkCSRF(string $csrf):bool {
return $_SESSION["csrf"] == $csrf;
}
Ну и checkCSRF используется при проверке формы, куда этот ключ записывается как скрытое поле
Заранее спасибо!