结合 HTTP 身份验证和 PHP 会话?

Combining HTTP Authentication and PHP Sessions?

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

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

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

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

只要其他页面也在同一个域中,session_start() 就会重新打开之前的会话。只要您重新打开同一个会话,相同的会话变量仍将存在,所以您应该一切顺利。

除了http认证之外,我过去也使用过这种方法来授权管理员用户。很好用,也很简单。