我已经在here中对我网站的一个部分进行了基本身份验证,它可以正常工作,但是现在我需要能够访问用户名才能过滤某些结果。但是$_SERVER['PHP_AUTH_USER']
无法正常工作。还有其他方法可以查看谁登录了吗?
我的.htaccess文件:
AuthType Basic
AuthName "You need to login to access this page."
AuthUserFile /usr/local/..../.htpasswd
Require valid-user
RewriteEngine on
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
它被标记为重复,但是我看不到问题的答案在哪里?有人可以帮忙吗?管理员?
答案 0 :(得分:0)
用户登录时,使用会话变量存储用户名,然后访问它。.
session_start();
$_SESSION['username'] = $username
//$username is whatever you grabbed as the supplied login details
答案 1 :(得分:0)
例如,您具有以下登录功能;
<?php
function doLogin($uname, $pword)
{
global $connection;
$query = "SELECT psswd FROM users WHERE (uname = '{$uname}' OR email = '{$uname}')";
$result = $connection->query($query);
$row = $connection->fetch_assoc($result);
$password = $row['psswd'];
if (password_verify($pword, $password))
{
session_start();
$_SESSION['user_logged_in'] = true;
$_SESSION['username'] = $uname;
return true;
}
return false;
}
使用验证,我们可以看到从数据库中找到了密码,并使用php的功能对此进行了验证,并且我们还在会话中设置了变量(在启动它并进行了有效的登录之后),也是如此。作为存储用户名以备将来使用
答案 2 :(得分:0)
在您的.htaccess
中,您正在填充$_SERVER['HTTP_AUTHORIZATION']
-您尝试过吗?