httpを介して小さな認証を実装しようとし、ネットからこのコードをコピーして、これが正しく機能するかどうかを確認しました。
<?php
if(!isset($_SERVER['PHP_AUTH_USER'])) {
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>";
}
?>
ただし、ブラウザは常にユーザー名とパスワードを要求しますが、キャンセルするまで何も出力しません。したがって、それ$_SERVER['PHP_AUTH_USER']
は決して設定されていないと思います!何が問題なのでしょう?Ubuntu10.04LTSサーバーをで実行していますApache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.7d DAV/2 Server
。