限制用户查看PHP

时间:2019-09-19 16:13:06

标签: javascript php laravel

我正在制作的网站有问题。我正在建立一个网站,用户可以在该网站上观看简短的视频,然后他们可以注册并获得一个链接来验证其电子邮件。电子邮件转到他们输入的电子邮件,并且他们具有一个验证链接,该链接指向另一个页面。该页面上有一个按钮,可转到完整视频。现在,我要阻止用户查看“验证”页面和用户在验证电子邮件之前看到完整视频的页面。我对PHP还是很陌生,我尝试了一些东西,我认为那不是很好,但我仍在学习。

我想在用户转到localhost/verify.php时重定向用户,并允许他们在URL为localhost/verify.php?verified=1时进入页面,即已将?verified = 1 URL发送到他们的电子邮件中。

但是无论我键入什么,它都会重定向index.php

verify.php

 if (stripos($_SERVER['REQUEST_URI'], 'verify.php')){
    header('Location: index.php');
  }
  else if (stripos($_SERVER['REQUEST_URI'], 'verify.php?verified=1')){
    header('Location: verify.php');
  }

有什么方法可以使我做得更好,因为用户没有注册选项,并且我没有保存任何会话。

1 个答案:

答案 0 :(得分:1)

即使您没有创建用户,也可以有一个表来表示这些电子邮件地址,其中包含一个key, email, verified(bool), verification_token(unique string),然后在经过验证的路由的控制器中,您可以检查该验证令牌是否存在,将用户标记为经过验证,然后将其传递给视频。这也允许您将该令牌存储在cookie中,以便在它们到达正常端点时可以随时检查它们,而无需使用查询参数,您仍然可以将它们视为已验证。身份验证不完整,但听起来您不希望这些电子邮件具有完整的可身份验证用户