PHP登录重定向

时间:2009-12-28 20:51:01

标签: php authentication web-applications redirect

这可能是一个愚蠢的问题,但我想在做一些愚蠢的事之前我会问: 我有一个带有自定义登录对话框的Web应用程序,该对话框将获取发送到服务器的用户/传递。如果两者都匹配数据库中的条目,那么用户可以访问大约10个页面(取决于与该帐户相关联的权限)...大部分都非常直接。

当然,如果用户试图在没有实际登录的情况下访问其中一个页面,或者没有足够的权限,那么我需要退回他或返回登录页面以输入用户名/密码会让他们进入。

我的问题:对我来说,似乎要做到这一点,我需要在每个受限制的PHP页面的顶部发出一个电话,它会检查凭据并重定向,如果它们丢失或不足......这是一个声音进场?或者PHP提供了一种更智能的方式,不需要在应用程序的几乎所有页面中复制调用?

BTW:这不是MVC应用程序 - 只是直接PHP

谢谢!

5 个答案:

答案 0 :(得分:6)

呀;如果这是简单的PHP,你需要检查每一页。但这并不困难:

if (!hasAccess($user, $page))
{
  header("Location: signin.php?redirecturl={$page}");
  die();
}

hasAccess()内完成你的逻辑。您甚至可以将此逻辑包含在一个单独的文件中,并将其包含在您的所有页面中,将代码本身保存在一个位置,以防您希望将来更新访问条件或其他任何内容。

答案 1 :(得分:2)

答案 2 :(得分:1)

您可以使用包含该代码的包含文件来检查用户是否已登录,然后将其包含在您要验证登录的每个页面的顶部。

答案 3 :(得分:0)

看来这可能有你的答案: http://www.homeandlearn.co.uk/php/php14p3.html

答案 4 :(得分:0)

另外,请查看创建一个为您执行该登录检查的php头文件,然后您只需将该头文件包含在您想要保护的每个页面的顶部。