Javascript 限制用户在PHP中查看页面

Javascript 限制用户在PHP中查看页面,javascript,php,laravel,Javascript,Php,Laravel,我正在制作的网站有问题。我正在制作一个网站,用户可以去那里观看一段短视频,然后他们可以注册并获得一个链接来验证他们的电子邮件。该电子邮件将转到他们输入的电子邮件,他们有一个验证链接,该链接将指向另一个页面。该页面有一个按钮,可以显示完整的视频。现在,我想阻止用户查看验证页面以及用户在验证电子邮件之前看到完整视频的页面。我对PHP相当陌生,我尝试了一些东西,我认为它不是很好,但我还在学习 我想在用户转到localhost/verify.php时重定向用户,并允许他们在URL为localhost/v

我正在制作的网站有问题。我正在制作一个网站,用户可以去那里观看一段短视频,然后他们可以注册并获得一个链接来验证他们的电子邮件。该电子邮件将转到他们输入的电子邮件,他们有一个验证链接,该链接将指向另一个页面。该页面有一个按钮,可以显示完整的视频。现在,我想阻止用户查看验证页面以及用户在验证电子邮件之前看到完整视频的页面。我对PHP相当陌生,我尝试了一些东西,我认为它不是很好,但我还在学习

我想在用户转到
localhost/verify.php
时重定向用户,并允许他们在URL为
localhost/verify.php?verify=1
时进入页面,即?verify=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');
  }

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

即使您没有创建用户,您也可以有一个表来表示这些电子邮件地址,其中包含
密钥、电子邮件、已验证(bool)、验证令牌(唯一字符串)
然后,在验证路径的控制器中,您可以检查验证令牌是否存在,将用户标记为已验证并将其传递给视频。这还允许您将该令牌存储在cookie中,您可以随时检查它们是否到达正常端点,而无需使用查询参数,您仍然可以将它们视为已验证。它还没有完全被授权,但是听起来你不希望这些电子邮件有一个完整的可验证的用户

你可以通过在你的数据库中添加一个名为
verified
的新列来实现这一点,它需要
true
false
并且在每一页检查中,如果他验证了或没有,我说我没有使用register选项或任何,它甚至没有连接到DateBase用户只需将URL复制到文本编辑器中并手动添加?verify=1即可。或者将该版本的链接粘贴到论坛或聊天室,供其他人使用。如果您不打算使用带有登录名的数据库、一次性使用令牌或具有使用限制的帐户ID令牌,则无法真正保护页面。^我会这样做。很好的解决方案。