Подтверждение почты пользователя
Пишу подтверждение почты пользователя при регистрации нового аккаунта
Все работает по принципу: Получаем email пользователя, создаем рандомное число от 10000 - 99999, создаем куки с этим кодом и отправляем ему на почту код
$user_email = trim(filter_var($_POST['email'], FILTER_SANITIZE_EMAIL));
$code = trim(rand(10000, 99999));
setcookie("code", $code, time() + 60 * 5, "/lib/check_mail.php");
mail($user_email, 'Код подтверждения адреса Эл.Почты', $code);
header('Location: /lib/check_mail.php');
В следующем окно сверяем код который ввел пользователь и код отправленный на почту
$code = $_POST['code'];
$user_code = $_COOKIE['code'];
if ($code == $user_code){
// Код введен верно
} else {
// Код введен НЕ верно
}
Вопрос: На сколько этот код безопасен и актуален. Как можно сделать более актуальную и без опасную проверку почты пользователя?