结合HTTP认证和PHP会话


Combining HTTP Authentication and PHP Sessions?

我正在为一个网站创建一个管理区域,我正在使用HTTP身份验证来锁定目录。我想知道我是否可以在该目录中放置一个PHP脚本,一旦访问,存储用户在会话变量中登录的事实,以便他们现在可以访问其他管理页面。下面的内容:

session_start();
$_SESSION['admin_enabled'] = true;
header("location: some/admin/script.php");

然后,在任何管理页面上,我只是检查会话变量,我有一个简单的退出脚本销毁该变量。

基本上访问脚本设置会话变量的唯一方法是通过HTTP身份验证。在HTTP Authenticated目录之外的文件/函数中验证用户是否具有管理凭据,这是否有效?

只要其他页面也在同一域中,那么session_start()将重新打开前一个会话。只要您重新打开相同的会话,相同的会话变量将仍然存在,所以您应该可以正常运行。

在过去,除了http身份验证之外,我还使用了这种方法来授权管理员用户。它运行良好,而且很简单。