*IIS 環境下における Basic認証が動かない [#vf0aa9cb] -ページ: BugTrack -投稿者: [[upk]] -優先順位: 普通 -状態: 完了 -カテゴリー: 本体バグ -投稿日: 2003-09-05 (金) 22:20:08 -バージョン: **メッセージ [#nf73447b] ***前提 [#v7c1616d] php 4.3.3 以降でなければ、IIS 環境下では、そもそも BASIC認証は機能していない。 ***内容 [#n6ed6db7] 原因は、まだ不明ですが、 -php.ini の設定方法なのか? -func.php の、PHP_AUTH_USER がいけないのか? は特定できていないものの、IIS 環境下で、BASIC認証がうまく機能していません。IIS では、PHP_AUTH_* は使用できないこともある、とのことなので、HTTP_AUTHORIZATION に書き換えれば動くかまでは不明ながらも、備忘録として掲載しておきます。 ---- -最近 IIS の環境を弄っててこの問題にぶつかりまして、調べてみたらやはり HTTP_AUTHORIZATION しか使えませんでした。そこで、http://homepage1.nifty.com/yito/namazu/gbook/20021127.1530.htmlを参考に以下を追加してみました。 -- [[とおが]] &new{2003-12-02 (火) 07:36:22}; auth.php:93 + // PHP_AUTH* 変数が未定義 + if (!isset($_SERVER['PHP_AUTH_USER']) + && !isset($_SERVER ['PHP_AUTH_PW'])) + { + // HTTP_AUTHORIZATION 変数を使用した Basic 認証 + if (isset($_SERVER['HTTP_AUTHORIZATION']) + && ereg('^Basic ', $_SERVER['HTTP_AUTHORIZATION'])) + { + list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = + explode(':', base64_decode(substr($_SERVER ['HTTP_AUTHORIZATION'], 6))); + } + } + // ユーザリストに含まれるいずれかのユーザと認証されればOK if (!isset($_SERVER['PHP_AUTH_USER']) -ありがとうございます。取り込ませていただきました。 -- [[ぱんだ]] &new{2003-12-03 (水) 00:00:02}; -報告者ではないですが採用されましたので完了にしておきます。 -- [[とおが]] &new{2003-12-17 (水) 21:59:31}; - Interesting site http://www.tchezope.org/Members/de/poker-1.htm http://www.tchezope.org/Members/de/poker-2.htm -- [[Chr]] &new{2006-09-09 (土) 23:01:23}; - Interesting site http://www.tchezope.org/Members/de/poker-1.htm http://www.tchezope.org/Members/de/poker-2.htm -- [[Chr]] &new{2006-09-09 (土) 23:01:31}; - It very interesting http://www.tchezope.org/Members/de/poker-6.htm -- [[Brianna]] &new{2006-09-10 (日) 01:54:46}; - It very interesting http://www.tchezope.org/Members/de/poker-6.htm -- [[Brianna]] &new{2006-09-10 (日) 01:54:55}; - Is very interesting http://oooauthors.org/Members/pc/poker-7.htm -- [[Richard]] &new{2006-09-10 (日) 08:16:05}; - Is very interesting http://oooauthors.org/Members/pc/poker-7.htm -- [[Richard]] &new{2006-09-10 (日) 08:16:12}; #comment