Подобный функционал реализован при авторизации/регистрации пользователя по номеру телефона, код, который приходит пользователю на телефон, имеет ограниченный срок годности.
В классе CAllUser (/bitrix/modules/main/classes/general/user.php) посмотрите методы
GeneratePhoneCode, VerifyPhoneCode, SendPhoneCode.
Пример самой проверки:
//alowed only once in a minute
if($userPhone->getDateSent())
{
$currentDateTime = new Main\Type\DateTime();
if(($currentDateTime->getTimestamp() - $userPhone->getDateSent()->getTimestamp()) < static::PHONE_CODE_RESEND_INTERVAL)
{
$result->addError(new Main\Error(Loc::getMessage("main_register_timeout"), "ERR_TIMEOUT"));
return $result;
}
}