誰でも編集できるのがwikiのいいところであるが、折角のシステムもスパムのターゲットにされてしまうと大変である。
実はこのブログの大本となっているrutakewikiというwikiも残念ながら有名になるに従ってwikiスパムのターゲットとなり、内容と全く関係ないリンク満載の新規ページが作られるようになった。
あまりに頭にきたので内部LANと特定のIP以外からは編集不可能にPHPのコードを変更したのだが、そこまでしなくてもpukiwikiには編集に認証を必須とする仕組みがありこれでwikiスパムを撃退できる。
以下の手順でページ編集に認証をかけることができる。
pukiwiki.ini.phpを編集する。//Regexで指定される正規表現のページ毎に認証ユーザーを指定できる。(ここでは全てのページにadminユーザーでの認証が必須となる設定)
$edit_auth = 1; $edit_auth_pages = array( // Regex Username '/^.*$/' => 'admin', );