我實現了一個mediawiki網站,但不幸的是有人通過數千用戶創建了數千頁。我如何刪除除mediawiki之外的所有用戶創建的所有wiki頁面
我可以運行哪個查詢來刪除除這些用戶以外的所有頁面?
Mediawiki頁面位於mediawiki databse的wiki_page和wiki_text中,但沒有關於誰創建這些頁面的字段。
我實現了一個mediawiki網站,但不幸的是有人通過數千用戶創建了數千頁。我如何刪除除mediawiki之外的所有用戶創建的所有wiki頁面
我可以運行哪個查詢來刪除除這些用戶以外的所有頁面?
Mediawiki頁面位於mediawiki databse的wiki_page和wiki_text中,但沒有關於誰創建這些頁面的字段。
我會這樣做的愚蠢的方式。
1-3可以用任何其他方式替換,以使您更加適應的列表(包括數據庫查詢和WebAPI),或者取決於創建垃圾郵件的時間/方式的最近更改。如果有一個標題模式,你可以使用Nuke擴展。
我的問題是第一點。我應該做哪個查詢?我檢查數據庫,但我沒有可以運行的文章表:SELECT * FROM table WHERE用戶不是「我」,因爲沒有現場用戶。沒有在wiki_text表中,也沒有在wiki_pages表中。 – Pitone
我也在處理這個問題。我發現了一些代碼來阻止用戶的創建和編輯,因此它不應該再次發生,但我並不期望逐個刪除所有的垃圾...
將以下內容複製到您的LocalSettings.php
# Prevent new user registrations by anyone
$wgGroupPermissions['*']['createaccount'] = false;
$wgGroupPermissions['sysop']['createaccount'] = false;
# Disable anonymous editing
$wgGroupPermissions['*']['edit'] = false;
# Prevent new user registrations except by sysops
$wgGroupPermissions['*']['createaccount'] = false;
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['user']['edit'] = false;
$wgGroupPermissions['sysop']['edit'] = true;
我想你必須看看'revision'表。或者可能是'recentchanges',如果頁面是最近創建的。也有可能爲此目的進行一些擴展。 – svick
見http://webmasters.stackexchange.com/questions/9194/mass-deletion-of-spam-revisions-in-mediawiki/45486 –
哦,我的上帝,這是一個很長的程序,但如果沒有其他選擇,咱們試試吧!謝謝 – Pitone