我正在开发一个小型的,特定于应用程序的CMS。没有什么财务可言,而且内容实际上并不敏感(这主要是管理艺术品之间的关系),所以安全性并不是最重要的,但我们仍然在使用具有受控用户组的登录系统每次安装。针对整个网站进行测试并对登录状态作出反应的最佳做法
入口页面有一个登录表单 - 成功会将会话变量设置为该用户的用户表的PK,并重定向到任意视图页面。该变量还用于跟踪该用户所做的任何更改。
我将auto_prepending所有页面一个小脚本,只是检查是否设置了会话变量 - 如果不是,用户会弹回到登录页面。这工作,但似乎笨拙 - 尤其是因为我需要“豁免”的登录页面,所以我用了一个丑陋的小黑客,这基本上是这样的:
if(!isset($_SESSION['user']) && strpos($_SERVER['PHP_SELF'], '/login.php') !== 0) {
header('Location: /login.php');
}
以上被简化,从实际的脚本一点,但基本上可以证明发生了什么。
我不知道是否有一个既定的最佳实践这样的事情 - 测试的登录状态,并在未设置状态重定向...
tyia
这就是我现在正在做的事情(我给出的例子被削减了,auto_prepend被用于其他的东西,所以我只是捎带) - 并且你已经确认这是'标准“,这实质上是一个问题 - 感谢您的快速回复。 – momo 2011-03-07 01:25:14