PHP-php http验证登陆后注销的问题

PHP-php http验证登陆后注销的问题

瑾兮 发布于 2017-04-10 字数 256 浏览 1193 回复 1

通过 header("HTTP/1.0 401 Authorization Required");

登陆验证。

然后清空 $_SERVER['PHP_AUTH_USER'] 和 $_SERVER['PHP_AUTH_PW'] 登出 。

在不关闭浏览器的情况下使用正确的用户名与密码却无法再次登陆。

希望大家能解答一下!

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜柠檬 2017-10-25 1 楼

$_SERVER['PHP_AUTH_USER'] 和$_SERVER['PHP_AUTH_PW'] 是由服务器控制产生的变量,你不能给它赋值,当然了你也就无法删除和清空了,不知道你咋清空的?

看看PHP的用户认证流程:
1、用户从服务器上请求一个文件。如果这个文件在服务器上是被保护的,则在响应的头部向用户返回一个401(示经授权的用户)字符串。

2、浏览器收到这个响应后,弹出要求用户输入用户名/口令的对话框。

3、用户在对话框中输入一个用户名和口令,点击OK按钮将信息返回服务器供认证使用。

4、如果用户名和口令有效,被保护的文件将向用户开放,只要用户还在使用文件,认证会一直有效。

也就是说你只要认证成功后一直在使用这个文件,认证就一直有效,除非你不用这个文件了,也就关闭浏览器窗口,这样认证也就消失了。