Расширение:CheckUser

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:CheckUser and the translation is 47% complete.
Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎Türkçe • ‎dansk • ‎español • ‎français • ‎italiano • ‎magyar • ‎polski • ‎português do Brasil • ‎svenska • ‎русский • ‎فارسی • ‎বাংলা • ‎中文 • ‎日本語 • ‎한국어
Справка по расширениям MediaWiki
OOjs UI icon advanced.svg
CheckUser
Статус релиза: стабильный
CheckUser1.png
Реализация Служебная страница , Идентификация пользователя
Описание Позволяет определить, какие IP-адреса используются данной учётной записью и какие учётные записи используют данный IP-адрес без ручных запросов непосредственно к базе данных.
Автор(ы) Tim Starling, Aaron Schulz
Последняя версия 2.5 (continuous updates)
Политика совместимости ветвь релиза
MediaWiki 1.27+
PHP 5.4+
Изменения БД Да
Таблицы cu_changes
cu_log
Лицензия GNU General Public License 2.0 or later
Загрузка
  • $wgCheckUserCIDRLimit
  • $wgCheckUserMaxBlocks
  • $wgCheckUserCAMultiLock
  • $wgCheckUserForceSummary
  • $wgCheckUserEnableSpecialInvestigate
  • $wgCheckUserLogLogins
  • $wgCUPublicKey
  • $wgCheckUserCAtoollink
  • $wgCheckUserLogAdditionalRights
  • $wgCheckUserGBtoollink
  • $wgCUDMaxAge
  • checkuser
  • checkuser-log
Переведите расширение CheckUser если оно доступно на translatewiki.net
Проверьте использование и версию.
Проблемы Открытые задачи · Сообщить об ошибке
Эта страница ― о расширении движка MediaWiki. О политике Фонда Викимедиа относительно проверок участников см. m:CheckUser policy/ru.

CheckUser ― расширение, позволяющее участнику (со специальными правами) определить, какие IP-адреса используются данной учётной записью и какие учётные записи используют данный IP-адрес без ручных запросов непосредственно к базе данных. Оно запущено во всех проектах Фонда Вимедиа.

Загрузка

Расширение можно получить непосредственно из Git [?]:

  • Просмотреть код
  • Некоторые расширения имеют теги для стабильных выпусков.
  • Каждая ветвь связана с прошлым выпуском MediaWiki. Существует также ветвь "master", содержащая последнюю альфа-версию (может потребоваться альфа-версия MediaWiki).

Извлеките snapshot и поместите его в каталог extensions/CheckUser/ вашей MediaWiki.

Если вы знакомы с git и имеете доступ к оболочке на своём сервере, тогда Вы можете получить расширение следующим образом:

cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CheckUser.git

Установка

Расширение выпущено под лицензией GNU General Public License 2.0 или следующей версии. Программное обеспечение распространяется по принципу «как есть». Обновление производится согласно потребностям проектов или в случае выявления критической уязвимости.

В существующей вики

Базовая

Если у вас установлены другие расширения, но не запущен php maintenance/update.php, выполните его.

  • Скачайте и распакуйте файл(ы) в папку с названием CheckUser в вашей папке extensions/.
  • Добавьте следующие строки в конец файла LocalSettings.php:
    wfLoadExtension( 'CheckUser' );
    
  • Для использующих MediaWiki 1.27 или более ранней версии:
Используя клиент telnet/ssh, такой как PuTTY, перейдите в папку extensions/CheckUser и запустите php install.php. Если вы не видите install.php в этой папке, возможно, вам нужно перейти на более старую версию этого расширения, соответствующую вашей версии MediaWiki, используя команду, аналогичную git checkout REL1_26. Убедитесь, что вы используете PHP версии 5.x, иначе скрипт не будет работать. При отсутствии файла install.php вновь запустите php maintenance/update.php. Результат будет примерно таким:
...cu_changes table added.
...doing rc_id from 368856 to 368955....
...
...cu_changes table added and populated.
...cu_log added
...logging disabled, skipping log import.
  • Yes Готово – Перейдите на страницу Special:Version на своей вики, чтобы удостовериться в том, что расширение успешно установлено.

Для использующих MediaWiki 1.24 или более ранние версии:

В приведенных выше инструкциях описывается новый способ установки этого расширения с использованием wfLoadExtension(). Если вам нужно установить это расширение на более ранние версии (MediaWiki 1.24 и более ранние), вместо wfLoadExtension( 'CheckUser' );, вам необходимо использовать:

require_once "$IP/extensions/CheckUser/CheckUser.php";
Установка без доступа к командной строке

Многие хостинг-провайдеры не дают прямой доступ к командной строке, но разрешают создавать задачи по расписанию (например, с помощью веб-интерфйса cPanel).

Для таких хостинг-провайдеров можно использовать задание в cron для запуска php /path/to/install.php (естественно /path/to должен быть заменен полным путем до install.php).

Если вы используете удаленный сервер и не имеете доступа к командной строке (и ни одно решение для работы с заданиями cron не подходит для вас), но у вас есть доступ через phpMyAdmin, замените эти шаги для шага #2 выше:

  1. Загрузите cu_changes.sql и cu_log.sql
  2. В phpMyAdmin, выберите базу данных, которую вы используете для mediawiki в левом меню
  3. На следующем экране выберите вкладку «Импорт» в верхнем меню.
  4. В поле «Расположение текстового файла», выберите один из файлов, выберите сжатие «Нет» и нажмите нижнюю кнопку «Перейти».
    Если в phpMyAdmin есть только текстовое поле и нет выбора текстового файла, нажмите кнопку «SQL» в левом столбце под логотипом phpMyAdmin и нажмите вкладку «импортировать файлы» в открывшемся новом окне.
  5. Повторите действия для второго файла

На новой вики

Выполните шаг 1 как описано выше, затем запустите установку MediaWiki. Установщик MediaWiki автоматически выполнит задачи установки, если вы установите флажок для CheckUser, когда будет предложено установить расширения. Установщик MediaWiki автоматически выполнит задачи установки, если вы установите флажок для CheckUser, когда будет предложено установить расширения.

Настройка

Этот инструмент переносит данные о последних изменениях в отдельную таблицу $Changes и добавляет её при добавлении новых записей. Если для $wgPutIPinRC ранее было задано значение false, начальных данных для поиска не будет, но новые изменения будут заполнены, как только расширение будет установлено.

После выполнения запросов вы можете уменьшить $wgRCMaxAge , чтобы сократить недавние изменения, не затрагивая CheckUser. Используйте $wgCUDMaxAge, чтобы указать, как далеко могут идти данные контрольного пользователя в секундах.

В версиях для MediaWiki 1.22 и более поздних версиях для параметра CheckUser $wgCheckUserCIDRLimit определяется самый большой диапазон, который можно проверить за одно действие. Его формат такой же, как у $wgBlockCIDRLimit . В противном случае предел по умолчанию (для всех версий) составляет /32 для проверок IPv6 и /16 для проверок IPv4.

Проверяющие, использующие Mozilla Firefox, могут добавить this JS script в свой файл .js. Это облегчит получение данных IP WHOIS. It requires applets.codebase.principle support (about:config) enabled. (This can be signed.applets.codebase_principle_support in Firefox 3)

Предоставление права на использование CheckUser

Чтобы предоставить право на использование функции «Проверка участника», участник, имеющий право назначать проверяющих, должен перейти на Special:UserRights и ввести имя пользователя в поле, а затем выбрать опцию «проверяющий участников». Как только это будет сделано, функция «Проверить участника» появится на странице Special:SpecialPages для этого участника.

Чтобы включить управление правами участников для администраторов, добавьте в LocalSettings.php следующий код:

$wgGroupPermissions['sysop']['checkuser'] = true;
$wgGroupPermissions['sysop']['checkuser-log'] = true;

Чтобы разрешить добавление и удаление только этого права, используйте следующее:

$wgAddGroups['sysop'][] = 'checkuser';
$wgRemoveGroups['sysop'][] = 'checkuser';

Настройка

Настройки в extension.json
параметр по умолчанию комментарий
$wgCUDMaxAge 7776000 Как долго хранить данные CU (в секундах)? (по умолчанию = 3 месяца)
$wgCheckUserMaxBlocks 200 Mass block limits
$wgCheckUserForceSummary false Задайте для этого параметра значение true, если вы хотите заставить участников указывать причину каждой проверки, которую они выполняют через Special:CheckUser. (Не очень полезно, учитывая, что участники могут просто дать краткое изложение, например, «они должны быть проверены» или «Мне хочется», и программное обеспечение не будет знать об этом.)
$wgCheckUserCIDRLimit [ 'IPv4' => 16, 'IPv6' => 32 ] Кратчайшие пределы CIDR, которые можно проверить в любой отдельной проверке диапазона
$wgCUPublicKey '' Открытый ключ для шифрования личных данных, которые, возможно, потребуется прочитать позже. Создайте открытый ключ с чем-то вроде:

openssl genrsa -out cu.key 2048; openssl rsa -in cu.key -pubout > cu.pub и вставьте содержимое cu.pub здесь

$wgCheckUserCAMultiLock false This can be used to add a link to Special:MultiLock by CentralAuth to the Special:CheckUser's mass block form. This requires the CentralAuth extension to be installed on the wiki. To enable this, set this to an array with a central wiki's database name and an array with the name(s) of the global group(s) to add the link for. For example:
$wgCheckUserCAMultiLock = [
    'centralDB' => 'metawiki',
    'groups' => [ 'steward' ]
];
$wgCheckUserCAtoollink false Since 77360f1cf1d2. This adds a link to central wiki Special:CentralAuth to the Special:CheckUser's "Get users" results. This requires the CentralAuth extension to be installed on the wiki. To enable this, set this with a central wiki's database name. For example:
$wgCheckUserCAtoollink = 'metawiki';
$wgCheckUserGBtoollink false Since 77360f1cf1d2. This adds a link to local or central wiki Special:GlobalBlock to the Special:CheckUser's "Get users" results. This requires the GlobalBlocking extension to be installed on the wiki. To enable this, if a $wgConf is configured, set this to an array with a central wiki's database name and an array with the name(s) of the local (or global if you have CentralAuth installed) group(s) to add the link for. For example:
$wgCheckUserGBtoollink = [
	'centralDB' => 'metawiki',
	'groups' => [ 'steward', 'staff' ]
];

Usage

Basic interface

  1. Go to Special:CheckUser.
  2. In the user field, type in the username (without the 'user:' prefix), IP address, or CIDR range.
    • IP: any IPv4 or IPv6 address.
    • CIDR: you can check a range of IP addresses by appending the CIDR prefix (by default, up to /16 for IPv4 (65,536 addresses), up to /64 for IPv6 (~1.8446*1019 addresses) before revision 7352, up to /48 for IPv6 (~1.2089*1024 addresses or 65536 /64s - controlled by $wgCheckUserCIDRLimit in the latest version) after revision 7352, and up to /32 (65536 /48's) after revision rECHU9d7c239bf88866eca577f3241194d440f94fa014). For notation, see Range blocks.
    • XFF: you can check a client IP address provided by X-Forwarded-For headers by appending /xff (for example, 127.0.0.1/xff).
  3. Select the information you want to retrieve.
    • Get IPs: returns IP addresses used by a registered user.
    • Get edits from IP: returns all edits and logged actions made by a user (registered or anonymous) from an IP address or range.
    • Get users: returns user accounts that have edited from an IP or range.
  4. In the reason field, type in the reason you are accessing the confidential data. Try to succinctly summarise the situation (for example, "cross-wiki spam"); this will be logged in a log visible only to users with the checkuser-log permission.

Information returned

A typical entry in the CheckUser results for a user summary ("get users") is as follows:

  • Example (Talk | contribs) (20:11, 07 июль 2020 -- 20:12, 07 июль 2020) [5]
    1. 127.0.0.37 XFF: 127.0.0.1, 127.0.0.5

This is formatted to fit a lot of information into a format that can very easily be listed and skimmed, but is difficult to read unless you know what the information provided is. The information is laid out as follows:

  • username (user links) (time period when they edited from the given IP or range) [number of edits from the IP or range]
    1. IP address edited from XFF: XFF information provided (can be spoofed)

Each IP/XFF combination used to edit is listed, in order of use.

The last ten user agents (browser, operating system, system language, and versions) for each user for edits made in the IP or range are listed afterwards.

XFF Format

XFF (X-Forwarded-For) headers indicate the series of IP addresses used from the user's computer (first) to the last proxy server. In case of Wikimedia, the last proxy server is one of the Wikimedia proxies (listed under $wgCdnServersNoPurge in the Wikimedia configuration file).

In this example:

aaa.aaa.aaa.aaa XFF: 10.4.46.42, 127.0.0.1, aaa.aaa.aaa.aaa, 208.80.152.46

  • the first two addresses (10.4.46.42, 127.0.0.1) are private to the originating network and can't be reached directly from the public Internet,
  • the third address (aaa.aaa.aaa.aaa) is the "public face" of the editor, usually a broadband or dialup ISP, a company gateway, (but possibly an anonymizer or a malware-compromised server),
  • the last address (208.80.152.46) is one of the Wikimedia squids (sq36.wikimedia.org).

MediaWiki configuration settings $wgUsePrivateIPs , $wgCdnServers , $wgCdnServersNoPurge and extensions using the IsTrustedProxy hook (such as Extension:TrustedXFF ) change the way an actual IP address used to attribute edits is selected.

Personal tool links

When you get results from Special:CheckUser you can add personal user tool links via two interface messages:

Error messages

database query syntax error

If you receive an error message like this when you try to save a page:

A database query syntax error has occurred. This may indicate a bug in the software. The last attempted database query was:

(SQL query hidden)

from within function "efUpdateCheckUserData". Database returned error "1146: Table 'cu_changes' doesn't exist (localhost)".

This means that CheckUser has not been installed correctly. In this case you forgot to create the necessary cu_changes table in your database.

API

CheckUser также предоставляет API.

api.php?action=query&list=checkuser&curequest=userips&cutarget=Jimbo_Wales
api.php?action=query&list=checkuser&curequest=edits&cutarget=127.0.0.1/16&xff=1&cureason=Some_check
api.php?action=query&list=checkuserlog&culuser=WikiSysop&cullimit=25
api.php?action=query&list=checkuserlog&cultarget=127.0.0.1&culfrom=20111015230000