PHP 登录重定向

标签 php authentication web-applications redirect

<分区>

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

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

我的问题:对于我来说,似乎需要在每个受限 PHP 页面的顶部调用一个调用来检查凭据并在凭据丢失或不足时进行重定向...这是一个声音吗方法?或者 PHP 是否提供了一种更智能的方式,不需要在应用程序的几乎所有页面中重复调用?

顺便说一句:这不是一个 MVC 应用程序——只是直接的 PHP

谢谢!

最佳答案

是的;如果这是简单的 PHP,则需要检查每个页面。不过这并不困难:

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

并在 hasAccess() 中执行您的逻辑。您甚至可以将此逻辑包含在一个单独的文件中,并将其包含在您的所有页面中,将代码本身保存在一个地方,以备将来更新访问条件或其他任何内容时使用。

关于PHP 登录重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1971491/

相关文章:

php - MySQL best/first 分差查询优化

c# - 网络API : Download Multiple Files Separately

web-applications - 情感分析使推文与搜索查询匹配并进行分析

java - org.apache.http.impl.client.CloseableHttpClient 代理认证

authentication - github(twitter、stripe & co)是否使用 oauth 进行自己的登录?

javascript - 使用 Ajax 进行 PhoneGap 身份验证

performance - 如何决定部署 Web 应用程序的硬件

php - 将 Mysql 数据库记录值转换为 PHP 命令

php - 从使用 mysql 填充列表的所选选项中打印 2 个值

php - 使用变量获取数据库