我正在制作的网站有问题。我正在制作一个网站,用户可以在该网站上观看一段短片,之后他们可以注册并获得一个链接来验证他们的电子邮件。电子邮件转到他们输入的电子邮件,他们有一个指向另一个页面的验证链接。该页面有一个指向完整视频的按钮。现在我想阻止用户在验证电子邮件之前查看验证页面和用户查看完整视频的页面。我是 PHP 的新手,我尝试了一些东西,我认为它不是那么好,但我仍在学习。
我想在用户转到 localhost/verify.php
时重定向用户并允许他们在 URL 为 localhost/verify.php?verified=1
时进入页面, 那 ?verified=1 URL 被发送到他们的电子邮件。
但是无论我输入什么,它都会重定向 index.php
验证.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');
}
因为用户没有注册选项而且我没有保存任何 session ,所以有什么方法可以做得更好。
最佳答案
即使你没有创建用户,你也可以有一个表来代表这些电子邮件地址,然后在 Controller 中包含一个键,电子邮件,验证(bool),verification_token(唯一字符串)
对于经过验证的路线,您可以检查该验证 token 是否存在,将用户标记为已验证并将它们传递给视频。这还允许您将那个 token 存储在 cookie 中,您可以在没有查询参数的情况下随时检查它们是否到达正常端点,您仍然可以将它们视为已验证。它没有完整的授权,但听起来你不希望这些电子邮件有一个完全成熟的可验证用户
关于javascript - 限制用户在 PHP 中查看页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58015122/