Расширение:CheckUser
![]() Статус релиза: стабильно |
|
---|---|
![]() |
|
Реализация | Служебная страница , Идентификация пользователя , API , Хук , База данных |
Описание | Позволяет определить, какие IP-адреса используются данной учётной записью и какие учётные записи используют данный IP-адрес без ручных запросов непосредственно к базе данных. |
Автор(ы) | Tim Starling, Aaron Schulz, Dreamy Jazz |
Последняя версия | 2.5 (continuous updates) |
Политика совместимости | Снэпшоты выходят вместе с MediaWiki. Мастер не имеет обратной совместимости. |
PHP | 7.4.3+ |
Изменения в БД | Да |
Virtual domain | virtual-checkuser-global |
Таблицы | cu_changes cu_log_event cu_private_event cu_log cu_useragent_clienthints cu_useragent_clienthints_map cu_useragent cuci_wiki_map cuci_temp_edit cuci_user |
Лицензия | GNU General Public License 2.0 или позднее |
Скачать | |
|
|
|
|
|
|
Ежеквартальные загрузки | 193 (Ranked 31st) |
Использование общедоступными вики | 9,118 (Ranked 13th) |
Переведите расширение CheckUser, если оно доступно на translatewiki.net | |
Проблемы | Открытые задачи · Сообщить об ошибке |
CheckUser ― расширение, позволяющее участнику (со checkuser
) определить, какие IP-адреса используются данной учётной записью и какие учётные записи используют данный IP-адрес без ручных запросов непосредственно к базе данных.
Оно запущено во всех проектах Фонда Вимедиа.
Обновление производится согласно потребностям проектов или в случае выявления критической уязвимости. Details on how to use the tools provided by the extension are at Help:Extension:CheckUser .
Установка
- Скачайте и распакуйте файл(ы) в папку с названием
CheckUser
в вашей папкеextensions/
.
Вместо этого разработчикам и соавторам кода следует установить расширение из Git, используя:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CheckUser - Если и только если устанавливаете из git, запустите Composer для установки зависимостей PHP, запустив
composer install --no-dev
в каталоге расширений. (Смотрите T173141 о возможных осложнениях.) - Добавьте следующий код в конце вашего файла LocalSettings.php :
wfLoadExtension( 'CheckUser' );
- Выполните скрипт обновления, который автоматически создаст необходимые таблицы, используемые расширением.
- Configure as required.
- Готово – Перейдите на страницу Special:Version на своей вики, чтобы удостовериться в том, что расширение успешно установлено.
Using MediaWiki-Docker
Follow the steps in MediaWiki-Docker/Extension/CheckUser to install this extension inside a MediaWiki Docker instance.
Настройка
Этот инструмент копирует данные о последних изменениях в отдельные таблицы и добавляет их при добавлении новых записей.
Если для $wgPutIPinRC
задано значение false
, скопированные данные не будут содержать связанный IP-адрес.
Тем не менее, записи, добавленные после установки этого расширения, будут содержать IP-адрес.
После установки этого расширения вы можете уменьшить $wgRCMaxAge
, чтобы сделать недавние изменения короче, не затрагивая checkuser.
Используйте $wgCUDMaxAge
, чтобы указать, как далеко могут идти данные checkuser в секундах.
Параметр $wgCheckUserCIDRLimit определяется самый большой диапазон, который можно проверить за одну проверку.
Его формат такой же, как у $wgBlockCIDRLimit .
По умолчанию лимит составляет /19
для проверок $2 и /16
для проверок $4.
To allow this tool to log successful and failed login attempts as well as logouts, set $wgCheckUserLogLogins
to true
.
If you have bot accounts on your wiki, setting $wgCheckUserLogSuccessfulBotLogins
to false
will skip logging successful login attempts to bot accounts.
Версия MediaWiki: | ≥ 1.43 |
If the extension is installed on a multi-wiki install, then you should set $wgVirtualDomainsMapping for the virtual-checkuser-global
to point to a central database table.
Setting this will ensure that the central index tables are actually on a central DB, and therefore the GlobalBlocking global autoblocks and GUC work.
After doing this, you will need to run update.php
to create the tables on the central wiki.
Troubleshooting Special:GlobalContributions functionality
If Special:GlobalContributions is not returning revisions as expected (e.g. you have revisions on another wiki that you can view on that wiki), a misconfiguration may be causing an internal failure that isn't user-facing (as it cannot be user resolved). Check that:
- Your user has a central account and that their accounts on the affected wiki are linked. This can be checked at Special:MergeAccount.
- The affected wiki is known to the wiki farm. This is defined in the
sites
table and wikis can be added to this table via theaddSite
maintenance script. You'll need to ensure that the optional parameterspagepath
andfilepath
are filled out (eg.php ./maintenance/run.php addSite $wikiName wiki --pagepath https://hostname/wiki/\$1 --filepath https://hostname/w/\$1
), as Special:GlobalContributions uses these to generate API queries and links. - The central database is set with
virtual-checkuser-global
(eg.$wgVirtualDomainsMapping['virtual-checkuser-global'] = [ 'db' => $wiki ];
) and that thecuci_temp_edit
table is recording revisions from the affected wiki. - If necessary, cross-domain cookies should be enabled as the
centralauth
token must work across both wikis.
Предоставление права на использование CheckUser
Чтобы предоставить право на использование функции «Проверка участника», участник, имеющий право назначать проверяющих, должен перейти на Special:UserRights и ввести имя пользователя в поле, а затем выбрать опцию «проверяющий участников». Как только это будет сделано, функция «Проверить участника» появится на странице Special:SpecialPages для этого участника.
To allow users to access the IP addresses of temporary accounts , they should be granted the checkuser-temporary-account right.
Чтобы включить управление правами участников для администраторов, добавьте в LocalSettings.php
следующий код:
$wgGroupPermissions['sysop']['checkuser'] = true;
$wgGroupPermissions['sysop']['checkuser-log'] = true;
$wgGroupPermissions['sysop']['investigate'] = true;
$wgGroupPermissions['sysop']['checkuser-temporary-account'] = true;
Чтобы разрешить только добавление и удаление разрешения checkuser
, используйте вместо этого следующее:
$wgAddGroups['sysop'][] = 'checkuser';
$wgRemoveGroups['sysop'][] = 'checkuser';
Настройка
A selected number of the configuration values are shown below.
These configuration values are useful for administrators of wikis to modify.
Configuration values which are usually left as their default value are not specified here to keep the list concise, but details for these configuration values are present in the extension.json
file.
Configuration name | по умолчанию | Detail |
---|---|---|
$wgCUDMaxAge
|
7776000
|
Как долго хранить данные CU (в секундах)? (по умолчанию = 3 месяца) |
$wgCheckUserMaxBlocks
|
200
|
Maximum number of users that can be mass blocked simultaneously on Special:Investigate
|
$wgCheckUserForceSummary
|
false
|
Задайте для этого параметра значение true, если вы хотите заставить участников указывать причину каждой проверки, которую они выполняют через Special:CheckUser. (Не очень полезно, учитывая, что участники могут просто дать краткое изложение, например, «они должны быть проверены» или «Мне хочется», и программное обеспечение не будет знать об этом.) |
$wgCheckUserCIDRLimit
|
[ 'IPv4' => 16, 'IPv6' => 19 ]
|
Кратчайшие пределы CIDR, которые можно проверить в любой отдельной проверке диапазона |
$wgCUPublicKey
|
''
|
Открытый ключ для шифрования личных данных, которые, возможно, потребуется прочитать позже. Создайте открытый ключ с чем-то вроде:
Used with an associated private key to encrypt certain data that is not shown to CUs but stored in the cu_changes or cu_private_event table. Currently this is only the recipients of emails. Without a valid public key the data will not be stored. |
$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' ]
];
|
$wgCheckUserEnableSpecialInvestigate (1.35-1.43)
|
false (<=1.39)true (1.40+)
|
Since 57dcfe46d2e4. This enables Special:Investigate, an updated version of Special:CheckUser that allows checking for multiple user accounts and IP addresses within one investigation. |
$wgCheckUserLogLogins
|
false
|
Whether CheckUser should log login and logout attempts (both successful and not). |
$wgCheckUserLogSuccessfulBotLogins
|
true
|
Whether CheckUser should store successful login attempts to accounts with the bot user group if $wgCheckUserLogLogins is set to true . Only is used if $wgCheckUserLogLogins is true
|
$wgCheckUserMaximumRowCount
|
5000
|
The maximum number of results that can be returned by Special:CheckUser. Before MediaWiki 1.39, in the 'Get edits' and 'Get IPs' results having over 5000 results would return the results in a different format. From MediaWiki 1.39 this is the maximum number of results to show by page and more can be generated using the paging links |
$wgCheckUserInvestigateMaximumRowCount
|
25000
|
Similar to $wgCheckUserMaximumRowCount, but for Investigate |
$wgCheckUserCollapseCheckUserHelperByDefault (1.41+)
|
2500
|
Controls when the "CheckUser helper" summary table on Special:CheckUser . Specify true to always collapse by default, false to never collapse by default, and a number to collapse when more than that number of results are displayed on the page.
|
$wgCheckUserMaximumIPsToAutoblock (1.43+)
|
1
|
The maximum number of IP addresses to retroactively autoblock when a block is created with autoblocking enabled. |
$wgCheckUserClientHintsEnabled (1.41+)
|
true
|
Used to control whether client hints should be collected and displayed in results by CheckUser. |
$wgCheckUserClientHintsSpecialPages (1.41+)
|
{ "CreateAccount": "header", "Emailuser": "js", "PasswordReset": "js", "Userlogin": [ "js", "header" ], "Userlogout": "header" }
|
The list of special pages where CheckUser will request client hints if $wgCheckUserClientHintsEnabled is true .
|
$wgCheckUserClientHintsHeaders (1.41+)
|
{ "Sec-CH-UA": "brands", "Sec-CH-UA-Arch": "architecture", "Sec-CH-UA-Bitness": "bitness", "Sec-CH-UA-Form-Factor": "", "Sec-CH-UA-Full-Version-List": "fullVersionList", "Sec-CH-UA-Mobile": "mobile", "Sec-CH-UA-Model": "model", "Sec-CH-UA-Platform": "platform", "Sec-CH-UA-Platform-Version": "platformVersion", "Sec-CH-UA-WoW64": "" }
|
The list of client hint types that will be requested. Keys represent the client hint values requested using the Accept-CH header. Values represent the equivalent name when requesting them from the JS client side client hints API.
|
$wgCheckUserClientHintsForDisplay (1.41+)
|
[ "model", "fullVersionList", "platformVersion", "platform", "brands", "formFactor", "architecture", "mobile", "bitness", "woW64" ]
|
The list of Client Hints data to display in CheckUser results. The order of the array is used to determine what order to display the data. |
$wgCheckUserClientHintsValuesToHide (1.41+)
|
{ "architecture": [ "x86" ], "bitness": [ "64" ], "woW64": [ false ] }
|
Specifies Client Hint data values which should be hidden in the CheckUser results. This is done to hide commonly seen Client Hint data values in the cases where it's not useful to see this information unless it's a rare value. |
$wgCheckUserTemporaryAccountMaxAge (1.40+)
|
86400
|
The number of seconds for which the temporary account API response is fresh. |
$wgCheckUserSpecialPagesWithoutIPRevealButtons (1.40+)
|
[ "Investigate", "InvestigateBlock", "CheckUser", "CheckUserLog", "Activeusers", "Listusers", "BlockList" ]
|
A list of special page names where "Show IP" buttons are disabled, because they are not useful. The special page names are case sensitive and do not always match their appearance in the URL. For example Special:ListUsers is called Listusers in this array.
|
$wgCheckUserClientHintsUnsetHeaderWhenPossible (1.41+)
|
true
|
If true , the server will send an empty Accept-CH header when the user is viewing a page which does not need client hints data.
|
$wgCheckUserGlobalContributionsCentralWikiId (1.44+)
|
null
|
A string representing the name of the wiki to designate as the "central" wiki for Special:GlobalContributions. Setting this will redirect all other wiki's Special:GlobalContributions page to the central wiki's instead. |
$wgCheckUserWriteToCentralIndex (1.43+)
|
true
|
Used to prevent adding entries to the CheckUser central index tables on the wiki. Use this when the wiki is not part of a larger wiki farm unified account system. |
$wgCheckUserCentralIndexGroupsToExclude (1.43+)
|
[ "bot" ]
|
Users in any of the groups specified in this configuration value will not have their actions stored in the central index tables. Used to reduce the rate of writes to the central index tables for high activity users where there is no need to run CheckUser checks on these users. |
Using the extension
Detail about how to use the extension can be viewed at the extension help page . This information is not included here to keep this page manageable in size, and to focus this page on installation and administration of the extension.
There are several special pages and a few APIs provided by the extension. The special pages are:
- Special:CheckUser - Used to look up CheckUser data about accounts and anonymous users. Described at Help:Extension:CheckUser#Special:CheckUser usage .
- Special:Investigate - Alternative tool used to look up CheckUser data about accounts and anonymous users, with information displayed using a single-page format. Described at Help:Special Investigate .
- Special:CheckUserLog - Used to list the checks performed using either Special:CheckUser, Special:Investigate, or the CheckUser API. Described at Help:Extension:CheckUser#Special:Investigate usage .
- Special:IPContributions - Used to lookup edits performed by temporary accounts on a given IP address or range. Described at Help:Extension:CheckUser#Special:IPContributions usage .
- Special:GlobalContributions - Used to lookup edits performed by accounts, or temporary accounts on a given IP address or range. Described at Help:Extension:CheckUser#Special:GlobalContributions usage .
The extension also provides the ability to reveal the IP address used by a temporary account. Described at Help:Extension:CheckUser#Showing IPs for temporary accounts .
Это расширение используется в одном или нескольких проектах Викимедиа. Вероятно, это означает, что расширение стабильно и работает достаточно хорошо, чтобы использоваться такими сайтами с высоким трафиком. Найдите название этого расширения в файлах конфигурации Викимедиа CommonSettings.php и InitialiseSettings.php, чтобы узнать, где оно установлено. Полный список расширений, установленных на конкретной вики, можно увидеть на странице Special:Version wiki. |
Это расширение включено в следующие вики-фермы/хостинги и/или пакеты: Это не исчерпывающий список. Некоторые вики-фермы/хостинги и/или пакеты могут содержать это расширение, даже если они не перечислены здесь. Всегда сверяйтесь со своими вики-фермами/хостингами или комплектами/бандлами для подтверждения. |