发送并验证OTP而不将数据保存在数据库中?



我正试图通过PHP在注册表单中实现OTP验证,事情是我不想保存用户的数据,除非他们为了节省数据库的带宽而验证了他们的电子邮件,但问题是,如果我不将用户的数据保存在数据库中,我将如何验证他们的电子邮件?

有什么想法吗?

感谢

这是一个粗略的例子,您将需要编辑它以明显适合您的项目。也许你正在提交一个不同的脚本,请求来自不同脚本的电子邮件,等等。

您可以利用会话来临时存储数据。

session_start();

echo '<form action="" method="post">
<input type="text" name="otp" />
<input type="submit" value="Submit" />
</form>';
// if the form is submitted, then check for OTP, otherwise generate it and store it in session
if (isset($_POST['otp'])) {
// check if the OTP is correct
if ($_POST['otp'] == $_SESSION['otp']) {
//do something
} else {
// do something else
}
}
else{
$otp = rand(100000, 999999); //this is not a safe way to generate an OTP, but just for examples sake
$_SESSION['otp'] = $otp;
// code that sends the OTP to the user here using mail, text or API... 
// ...
}

最新更新