我实现了一个 mediawiki 网站,但不幸的是,有人通过数千名用户创建了数千个页面。
我可以运行哪个查询来删除这些用户创建的所有页面,但我的除外?
Mediawiki 页面位于 mediawiki 数据库中的 wiki_page 和 wiki_text 中,但没有关于谁创建这些页面的字段。
我实现了一个 mediawiki 网站,但不幸的是,有人通过数千名用户创建了数千个页面。
我可以运行哪个查询来删除这些用户创建的所有页面,但我的除外?
Mediawiki 页面位于 mediawiki 数据库中的 wiki_page 和 wiki_text 中,但没有关于谁创建这些页面的字段。
我会以愚蠢的方式去做。
1-3 可以替换为任何其他方式以使列表更适合您,包括数据库查询和 WebAPI,或者只是最近的更改,具体取决于垃圾邮件的创建时间/方式。如果有标题模式,您可以使用 Nuke 扩展。
我也在处理这个问题。我找到了一些代码来阻止用户创建和编辑,所以它不应该再次发生,但我并不期待一个一个地删除所有垃圾......
将以下内容复制到您的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;