7

filter_input を使用して PHP の HTTP 認証からユーザー ログインとパスワードを取得しようとしていますが、PHP_AUTH_USER と PHP_AUTH_PW の両方で null が返されます。私はテストをしました:

$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 でテスト済み。

何か不足していますか?これら2つの $_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 変数がないと取得できません。

于 2013-11-13T10:54:59.090 に答える