2

我找到了以下代码

<?php
$_SERVER['PHP_AUTH_USER'] = 'Me';

if (empty($_SERVER['PHP_AUTH_PW'])) {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Text to send if user hits Cancel button';
    exit;
} else {
    echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
}
?>

根据上面的代码,它提示一个用户名和密码空字段。我试图找到一种方法来强制用户名始终显示,但保留密码供用户输入。那么有没有办法总是锁定用户名?请帮忙。

4

2 回答 2

1

HTTP 基本身份验证在RFC 2617中指定。我在那里没有找到任何关于默认用户名的信息。这就是为什么我会说服务器不可能设置它。但有些浏览器可能会在您登录后缓存用户名和密码。

于 2013-07-04T10:48:21.553 回答
0

这永远不会发生,因为根据定义,HTTP 是无状态协议。

但是,您可以在请求 URI 中包含凭据:

https://username:password@www.example.com/path
于 2013-07-04T11:06:24.630 回答