MediaWiki にスパムがきたので対策メモ

概要

管理してる MediaWiki のページをちょっと目を離していたら スパムがいっぱいきてた。 大量にアカウント登録して新規ページをいっぱい作成している。

とりあえずすぐできそうな対策から実行してみる。

Captcha の導入

いくつかの Captcha が標準で使用できて、 中でも QuestyCaptcha有効らしい。

require_once "$IP/extensions/ConfirmEdit/ConfirmEdit.php";
wfLoadExtension('ConfirmEdit/QuestyCaptcha');
$wgCaptchaClass = 'QuestyCaptcha';
$wgCaptchaQuestions[] = array( 'question' => "指定の問い", 'answer' => "対応する答え");
$wgCaptchaTriggers['edit'] = true;
$wgCaptchaTriggers['create'] = true;
$wgGroupPermissions['sysop']['skipcaptcha'] = false;

配列 $wgCapthaQuestion で問いと答えのペアを登録する。 複数の指定が可能。日本語もOK。

$wgCaptchaTriggers['edit'] = true はページ編集時に Captcha を有効にする設定。 同じく $wgCaptchaTriggers['create'] = true はページ作成時。

$wgGroupPermissions['sysop']['skipcaptcha'] = false; は sysop グループに対しても Captcha を要求する設定。

UserMerge の導入

大量に登録されてしまった Spammer だけど、 MediaWiki ではユーザの削除は基本的にできないらしい。

代わりにユーザーを統合する拡張があるので Spammer は 全部 Spammer というユーザに統合しておこう。

require_once "$IP/extensions/UserMerge/UserMerge.php";
$wgGroupPermissions['bureaucrat']['usermerge'] = true;

作業は一人ずつ手作業で統合していくので結構めんどうくさい。

参考