【发布时间】:2020-01-20 17:32:10
【问题描述】:
我正在制作的网站有问题。我正在制作一个网站,用户可以在该网站上观看短视频,之后他们可以注册并获得一个链接来验证他们的电子邮件。电子邮件转到他们输入的电子邮件,并且他们有一个验证链接,该链接指向另一个页面。该页面有一个指向完整视频的按钮。现在我想阻止用户在验证电子邮件之前查看验证页面和用户查看完整视频的页面。我对 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');
}
由于用户没有注册选项并且我没有保存任何会话,因此我有什么办法可以做得更好。
【问题讨论】:
-
您可以通过在您的用户表中添加一个名为
verified的新列从您的数据库中获取它,这将需要true或false并在每一页中检查他是否已验证 -
我说我没有使用注册选项或任何,它甚至没有连接到数据库
-
一个人所要做的就是将 URL 复制到文本编辑器中并手动添加 ?verify=1 到它。或者将该版本的链接粘贴到论坛或聊天室以供其他人使用。如果您不打算使用带有登录名、一次性令牌或具有使用限制的帐户 ID 令牌的数据库,则您无法真正保护页面。
标签: javascript php laravel