我怎么能删除所有用户创建的所有维基页面,除了我在mediawiki中

时间:2013-03-29 21:03:44

标签: mediawiki

我实施了一个mediawiki网站,但遗憾的是有人通过数千名用户创建了数千页。

我可以运行哪个查询来删除除了我的这些用户创建的所有页面?

Mediawiki页面位于mediawiki数据库的wiki_page和wiki_text中,但没有关于谁创建这些页面的字段。

2 个答案:

答案 0 :(得分:0)

我这样做很傻。

  1. 列出Special:AllPages或使用https://code.google.com/p/wikiteam/ dumpgenerator.py
  2. 的所有页面标题
  3. 列出您从Special:Contributions和一些正则表达式过滤或使用WebAPI创建的所有标题
  4. 从1.中删除2.使用例如comm命令
  5. 使用PyWikipediaBot中的delete.py或deletebatch.php或具有相同名称的扩展程序删除所有相关标题。
  6. 1-3可以用任何其他方式替换,以使您更熟悉的列表,包括数据库查询和WebAPI,或者只是最近的更改,具体取决于创建垃圾邮件的时间/方式。如果有标题模式,您可以使用Nuke扩展名。

答案 1 :(得分:0)

我也在处理这个问题。我找到了一些阻止用户创建和编辑的代码,所以它不应该再次发生,但我不期待逐个删除所有垃圾......

将以下内容复制到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;