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