我正在尝试制作一个简单的激活令牌,但我遇到了问题。 这是我的验证码:
if (isset($_GET['token'], $_GET['account_id']) && !empty($_GET['token']) && !empty($_GET['account_id']))
{
// Checking if the account has a token to activate
if ($query[0] > 0)
{
// Fetching some info about the token
if ($tokenData['used'] == 0)
{
if ($tokenData['token'] == $_GET['token']) // Checking if given token is valid
{
// Activates user account
// Sets the token as 'used'
}
}
}
}
以下是表格结构的屏幕截图:
以下是发生的事情: 当我尝试创建一个测试帐户(myaddress@gmail.com)时,一切正常,帐户和令牌就会被创建。未使用令牌且帐户未激活。 但收到邮件后,收到邮件后不到一秒钟,令牌被设置为已使用且帐户已激活,因此即使我没有点击链接,也必须点击链接。
我想知道是否有办法确保点击链接的实际用户而不是电子邮件客户端检查链接是否安全或其他什么。
提前致谢,抱歉我的英语不好。