PHPでは、基本的なHTTP認証ログイン(ポップアップ)を作成しようとしています。その私の理解では、このヘッダを介して行われ、これが私のヘッダである:PHPでHTTP認証を使用すると、「キャンセル」を押すまで閉じないのはなぜですか?
header("WWW-Authenticate: Basic realm='Secure Area'");
はその後、私は入力のユーザー名またはパスワードが間違っているかどうかを確認し、それがある場合、私は一つの機能または別のコマンドを実行します。
私は自分のコードをテストしかしif ($_SERVER["PHP_AUTH_USER"] != $username || $_SERVER["PHP_AUTH_PW"] != $password)
{
quit();
}
else
{
main();
}
、と私は、ログインポップアップボックス「でログイン」正しいユーザ名とパスワードを入力してを押しますもう一度開き、二度目のオープニングの後、私は「キャンセル」を押すことができ、主な機能の結果に私はかかりますが、「ログイン」を押し続けるだけでポップアップが維持されます。
それ以外は正常に動作します。ユーザー名またはパスワードを正しく入力せずに「キャンセル」を押すと、それが終了します。しかし、私はこの一見「エンドレスログイン」の問題を解決する必要があります。
どうすれば修正できますか?
Googleのクイックルックは、認証サーバのvarsが、cgiモードでPHPが実行されていると設定されないというヒントを示しています。 – Yoshi