FastCGI版PHP環境で、PukiWikiのBasic認証(auth)を有効にする

先日のCORESERVERのメンテナンスで、モジュール版PHPからFastCGI版PHPに変更になりました。
これによってPukiwikiのユーザ認証(Basic認証)で正しいユーザ名とパスワードを入力しても認証が通らないようになってしまいました。

CGI版のPHP環境では、PukiWikiの認証機能が使えないというのは明記されています。

今回の結論

.htaccess に以下を追加することで、とりあえずは引き続きPHPによるBasic認証をすることができそうです。
Apache/2.2.3 + PHP/5.3.28 + PukiWiki/1.4.7 の環境で確認しました。

SetEnvIfNoCase Authorization "^(Basic .*)$" HTTP_AUTHORIZATION=$1

検討したほかの方法

  • ほかの認証方法を検討する
    • login.inc.php 説明
      • $auth_type = 'session'; であればBasic認証ではないので使うことができる。session(cookie)を使っている。
      • htmlspecialchars が使われているのでPHP5.4 以上では要修正だと思われます。
      • ttp://XXXX.s000.coreserver.jp/pad.rtwiki.net/ なら正常に動作するが ttp://pad.rtwiki.net/ だと編集に進めない・・・(何度もログインを要求される)。これさえ解決すれば実用できそうなんですが。
      • 画像ファイルを添付するとそのページを表示後必ず勝手にログアウトする問題がある?
    • Digest認証設定 「PukiWiki Plus!」専用なので本家では無理
    • CGI版PHPでBASIC認証が効かない! IPによる制限をする方法
  • 認証を使わず凍結機能だけで代用する?
    • 編集制限だけならある程度これで足りるが、一人Wiki状態の場合は新規ページの制限はできない。
  • そもそもWikiなので編集制限はともかく閲覧制限は要らないのでは?
    • 閲覧制限(read_auth)が必要なものはwiki/以外のフォルダに出力すれば.htaccessによる制限(Basic認証)が可能。

その他

PHPとApacheのバージョンの確認

$ php -v
$ /usr/local/apache2/bin/httpd -v

コメント

コメントはありません。 コメント/Tips/FastCGI版PHP環境で、PukiWikiのBasic認証(auth)を有効にする?

コメント:

最終更新: 2016-08-22 (月) 00:54:42