Como faço para bloquear vários usuários no MediaWiki?

2

Meu wiki coletou muitos spams nos últimos meses, então eu os bloqueei apenas para usuários registrados. Infelizmente, nunca desativei o registro do usuário. É possível bloquear muitas contas de usuário de uma só vez ou devo reiniciar?

    
por Chris 04.01.2012 / 00:37

2 respostas

1

A maneira mais rápida e menos invasiva de impedir que uma grande lista de usuários registrados faça modificações é provavelmente fazer uma alteração de senha em massa para os usuários indesejados.

Supondo que você esteja executando um estilo Unix e que a lista de pessoas que você deseja manter é relativamente baixa:

por exemplo, para o MySQL:

mysql -p -u root -B wikidb -e 'select user_name from user;' | tee user.list
  • Remova os usuários que você deseja manter do arquivo user.list.

  • Use a ferramenta de linha de comando de senha do MediaWiki para alterar as senhas para algo aleatório.

por exemplo,

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

A geração de uma senha diferente para cada usuário é deixada como um exercício para o leitor. : -)

    
por 04.01.2012 / 09:02
0

Conecte-se ao seu servidor mysql:

mysql -h DBSERVER_HOST -u wikiuser wikidb -p

Digite sua senha no prompt. Uma vez no prompt do mysql, procure pelo usuário

mysql> select user_id,user_name from user;

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

Exclua todos os "user_id" de que você precisa:

mysql> delete from user where user_id in(7,9);
    
por 28.01.2013 / 14:03