CGI版PHPでBASIC認証が効かない!

ロリポップで、PHP4 -> PHP5 にしたら、Pukiwiki のユーザー認証が動かなくなりました・・。
どうやらロリポップの PHP5 は CGI 版らしく、CGIPHPでは、BASIC認証が使えないそうです。

http://jp2.php.net/manual/ja/features.http-auth.php

超困った!!

http://pukiwiki.sourceforge.jp/?%E7%B6%9A%E3%83%BB%E8%B3%AA%E5%95%8F%E7%AE%B1%2F198

にある mod_setenvif を使った方法を試してみるも、うまくいかず、IP 制限で乗り切る方法で上手くいきました。

修正するファイル:lib/auth.php の basic_auth 関数内

以下の記述を if (PKWK_READONLY || の前に追加します。
実際には編集したい人のIPアドレス、ユーザー名、パスワードを指定します。

if ($_SERVER['REMOTE_ADDR'] == 'xxx.xxx.xxx.xxx') {
    $_SERVER['PHP_AUTH_USER'] = 'username';
    $_SERVER['PHP_AUTH_PW']   = 'password';
}

IPアドレスが変わるたびに変更しないといけないので注意。
SPAMよけには十分な上、IDとパスワードをいちいち入れなくていいので楽チン!