DirtHighway

さくらインターネットでは、phpがCGIで動いています。CGIのphpではbasic認証が出来ないみたいなので、Apacheのhtaccess/.htpasswdで、POSTに認証をかけていました。このような感じ。

<Limit POST>
AuthType Basic
AuthName      "Authentication required"
AuthUserFile  /home/hogesan/.htpasswd
AuthGroupFile /dev/null
Require  user hogesan
</Limit>

しかし、この方法では、単語検索でもPOSTが発生するので認証する必要がありました。あんまりpukiwikiの検索を使う人いないかなと思ってそのままにしておきましたが、久しぶりに自分で使うと不便でした、そこで、loginプラグインや、他の認証も試したのですがあまりうまく行かず、最終的に単語検索をPOSTからgetに変える方法を使いました。 pukiwiki開発のここ(http://pukiwiki.sourceforge.jp/dev/?BugTrack%2F584)にその方法が書かれていたのですが、なかなか理解が進みませんでしたが、最終的に下記のようにして解決しました。
pluginディレクトリのsearch.inc.phpを編集します。 最初の方の行にある

define('PLUGIN_SEARCH_DISABLE_GET_ACCESS', 0); // 1, 0
最初 値が1だったところを、0 に。

最後のform html部分methodをgetに変更

<form action="$script?cmd=search" method="get">
 <div>
  <input type="hidden" name="cmd" value="search" />

searchコマンドを追加しました。

詳細は聞かないでください。あまり理解はしてません。 とりあえず、これで、検索は普通に出来て、編集するときに認証が発生するようになりました。めでたし、めでたし。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-05-24 (月) 22:43:07 (106d)