如何在MediaWiki上阻止多个用户?

我的wiki在过去几个月里收集了大量的垃圾邮件,所以我只阻止了注册用户。 不幸的是我从来没有closures用户注册。 是否有可能一次阻止很多用户帐户,或者我应该重新启动?

阻止大量注册用户进行修改的最快速度最小的方式可能是对不受欢迎的用户进行批量密码更改。

假设你正在运行一个类Unix,并且你想保留的人员列表相对较less:

  • 禁用匿名查看和/或编辑。 (这听起来像你已经完成了?)

  • 将数据库中的用户列表转储到文件中。

例如,对于MySQL:

mysql -p -u root -B wikidb -e 'select user_name from user;' | tee user.list 
  • 从user.list文件中删除要保留的用户。

  • 使用MediaWiki密码命令行工具将密码更改为随机的。

例如。

 cd [wiki-docroot]/maintenance/ while read wikiuser; do echo $wikiuser; php ./changePassword.php $wikiuser BOGUS%PASSblahblah77; done <user.list 

为每个用户生成一个不同的密码作为读者的练习。 🙂

连接到你的mysql服务器:

 mysql -h DBSERVER_HOST -u wikiuser wikidb -p

在提示符处input您的密码。 一旦在mysql提示符下,search用户

 mysql>从用户selectuser_id,user_name;

 + --------- + ------------ +
 |  user_id |  user_name |
 + --------- + ------------ +
 |  9 |  spammer |
 |  7 |  r2d2 |
 |  1 |  admin |
 + --------- + ------------ +

删除您需要的每个“user_id”:

 mysql>从用户删除其中user_id在(7,9);