*auth.php の「ユーザリストに含まれるいずれかのユーザと認証」部分のバグ [#t57a4bf3] -ページ: [[BugTrack2]] -投稿者: [[Tsuka]] -優先順位: 重要 -状態: 完了 -カテゴリー: 本体バグ -投稿日: 2005-02-22 (火) 19:55:58 -バージョン: 1.4.5_1 ** 修正 [#j31a0378] - [[cvs:lib/auth.php]] (1.8) Correct r1.3, array_key_exists() => isset() **メッセージ [#ic2ca1dc] 「開発日記/2004-10-07」の「array_key_exists() => isset()」で変更された個所だと思いますが、 93行目の || ! isset($_SERVER['PHP_AUTH_USER'], $auth_users) の部分で常に true が返されているようですが、こちらの環境だけでしょうか? 以下のようにしたら正常に動いたので、バグなようでしたら修正をお願いします。 || ! isset($auth_users[$_SERVER['PHP_AUTH_USER']]) 自分の環境では Basic 認証が使えないので、cookie 認証にして使っています。 PHP 4.3.7 ---- -「array_key_exists() => isset()」の修正なのにカッコの中身が変わっていません・・・ orz ご指摘のものが正解だと思います。 -- [[henoheno]] &new{2005-02-22 (火) 22:08:08}; - 影響としてはWarning/Noticeが出る程度で済んでいるようですが、見つけられたシチュエーションはどのようなときですか? -- [[henoheno]] &new{2005-02-22 (火) 22:10:01}; -こちらの環境では、Warning/Notice がでていません。文法的にどうなのかという疑問を持ちながら、isset() の部分だけで結果の表示をしてみました。すると、$_SERVER['PHP_AUTH_USER']の変数の中身を適当な値にして替えているにも関わらず、常に true として出ている状態でした。こんな感じで honehone さん分かりますでしょうか? -- [[Tsuka]] &new{2005-02-23 (水) 12:26:43}; -修正したもので特に問題はないようなので、「完了」にしておきます。 -- [[Tsuka]] &new{2005-02-24 (木) 18:33:58}; -まだCVSレポジトリに反映されていません([[cvs:lib/auth.php]])ので完了とするのは早いと思います。とりあえず「提案」に戻しておきますね。 -- [[Mizar]] &new{2005-02-24 (木) 18:55:21}; -[[Tsuka]]さん、わざわざありがとうございます。引数を一つしか与えないのが普通のisset()に二つ引数を与えるだなんて、文法的に・・・どうなんでしょうね (^^; Mizarさんの対応はその通りです。今週の土日にまとめて対応するでしょう。 -- [[henoheno]] &new{2005-02-24 (木) 23:16:49}; -Mizar さんフォロー有り難うございます。なにぶん初めての BugTrack で、よく分からず「完了」にしました。 isset() に関しては、ああいう文法もありなのかとしばらく眺めてしまいました... 他にも lib/auth.php で動作的に気になる所があったのですが、質問箱に入れておこうかと思います。 -- [[Tsuka]] &new{2005-02-25 (金) 03:07:53}; - [[cvs:lib/auth.php]] (1.8) Correct r1.3, array_key_exists() => isset() -- CVSに投入しました。 -- [[henoheno]] &new{2005-02-26 (土) 21:11:28}; #comment //#comment