IIS 環境下における Basic認証が動かない

  • ページ: BugTrack
  • 投稿者: upk
  • 優先順位: 普通
  • 状態: 完了
  • カテゴリー: 本体バグ
  • 投稿日: 2003-09-05 (金) 22:20:08
  • バージョン:

メッセージ

前提

php 4.3.3 以降でなければ、IIS 環境下では、そもそも BASIC認証は機能していない。

内容

原因は、まだ不明ですが、

  • 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を参考に以下を追加してみました。 -- とおが? 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'])
  • ありがとうございます。取り込ませていただきました。 -- ぱんだ 2003-12-03 (水) 00:00:02
  • 報告者ではないですが採用されましたので完了にしておきます。 -- とおが? 2003-12-17 (水) 21:59:31

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-09-10 (日) 08:21:02
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.278 sec.

OSDN