Назад | Перейти на главную страницу

Как заблокировать нескольких пользователей MediaWiki?

Моя вики собрала много спама за последние несколько месяцев, поэтому я заблокировал ее только для зарегистрированных пользователей. К сожалению, я никогда не отключал регистрацию пользователей. Можно ли заблокировать сразу несколько учетных записей пользователей или просто перезапустить?

Самый быстрый и наименее инвазивный способ предотвратить внесение изменений большим списком зарегистрированных пользователей - это, вероятно, массовая смена пароля для нежелательных пользователей.

Предполагая, что вы используете Unix-подобную систему и что список людей, которым вы хотите держать относительно низкий:

например, для 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

Введите свой пароль в ответ на приглашение. В командной строке mysql найдите пользователя

mysql> select user_id,user_name from user;

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

Удалите все "user_id", которые вам нужны:

mysql> delete from user where user_id in(7,9);