我已经在我的网站的一个部分设置了一个基本的身份验证作为文档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]
它被标记为重复的,但我看不到我的问题的答案在哪里?有人能帮帮忙吗?管理员?
发布于 2018-06-25 17:00:56
当用户登录时,使用会话变量存储用户名,然后访问它。
session_start();
$_SESSION['username'] = $username
//$username is whatever you grabbed as the supplied login details
发布于 2018-06-25 17:05:49
例如,您具有以下登录函数;
<?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的函数进行验证的,我们在会话上设置了变量(在启动它之后&一个有效的登录)来表明这一点,并存储用户名以供将来使用
发布于 2018-06-25 19:06:56
在您的.htaccess
中,您正在填充$_SERVER['HTTP_AUTHORIZATION']
-您尝试过这样做吗?
https://stackoverflow.com/questions/51019627
复制相似问题