簡報教練的故事

與Wiki Spam bot奮戰

昨日下午,發現共筆(後端引擎為MediaWiki v1.4.8)遭到罐頭文章機器人(spam bot)攻擊,起初還耐著性子,逐篇文章設定24小時封鎖IP的限制,後來發現大量機器人湧入,於是決定使出殺手鐧。

緊急封鎖編輯權限

修改LocalSettings.php,插入以下這行,要求使用者必須登錄帳號後,才能進行編輯。

$wgWhitelistEdit = true;


如果沒有登錄,想要編輯的話,會出現以下訊息:

您必須先[[特殊:登錄]]才可編輯頁面。


由於使用者點選[[特殊:登錄]]之後,不會進入正確的登錄畫面。需透過資料庫管理程式,將Cur資料表中的Whitelistedittext or Whitelistedittext/zh_tw 中的[[特殊:登錄]],更改成[[特殊:Userlogin]] 或 [[特殊:Userlogin|登錄]] 。詳細的權限設定,詳見Setting user rights in MediaWiki

用處不大的IP封鎖
將.htaccess放在根目錄
order allow,Deny
Deny from 000.000.000.0
Deny from 000.000.000.0
allow from all


由於IP數量眾多,且日後維護該清單困難,不建議採用。


版本回復
透過Wiki的版本紀錄,回復正確的版本。


安裝黑名單(SpamBlacklist)擴充套件
下載SpamBlacklist extension,並上傳到extensions目錄下,並且在LocalSettings.php,插入以下幾行

require_once( "$IP/extensions/SpamBlacklist/SpamBlacklist.php" );
$wgSpamBlacklistFiles = array(
//          database    title
"DB: wikidb My_spam_blacklist",
); 


然後從Spam blacklist複製名單(點選該網頁上方的view source),貼到My spam blacklist的Wiki頁面。


參考資料:
* Setting user rights in MediaWiki - Meta
* Anti-spam Features - Meta

留言