7

我正在尝试使用 filter_input 从 PHP 中的 HTTP 身份验证中检索用户登录名和密码,但是 PHP_AUTH_USER 和 PHP_AUTH_PW 都为空值。我做了一个测试:

$phpAuthUserFV = filter_input(INPUT_SERVER, 'PHP_AUTH_USER');
// gives null

$phpAuthUser = $_SERVER['PHP_AUTH_USER'];
// gives the user login entered

$remoteAddr = filter_input(INPUT_SERVER, 'REMOTE_ADDR');
// gives the remote address

$phpSelf = filter_input(INPUT_SERVER, 'PHP_SELF');
// gives the PHP_SELF value

使用 PHP 5.5.5 和 5.3.3 测试。

我错过了什么吗?我只是想知道,为什么这两个 $_SERVER 键的 filter_input 失败,但可以与其他键一起使用。

4

2 回答 2

3

尽管这并不能直接回答您的问题-因为似乎发生了一些错误-一个不错的解决方法是:

$phpAuthUser = filter_var($_SERVER['PHP_AUTH_USER']);
于 2013-11-13T10:42:22.340 回答
2

PHP_AUTH_USER 是用户身份验证属性,因此如果没有 $_SERVER var,它将永远不会检索。

于 2013-11-13T10:54:59.090 回答