Extensão:CheckUser
![]() Estado da versão: estável |
|
---|---|
![]() |
|
Implementação | Página especial , Identidade de usuário , API , Hook , Banco de dados |
Descrição | CheckUser permite que um usuário com permissões para verificar quais IPs são utilizados por um determinado nome de usuário e que nomes de usuários são utilizados por um determinado IP, sem ter que executar consultas diretamente no banco de dados à mão. |
Autor(es) | Tim Starling, Aaron Schulz |
Última versão | 2.5 (continuous updates) |
Política de compatibilidade |
Snapshots releases along with MediaWiki. Master is not backward compatible. |
MediaWiki | 1.27+ |
PHP | 5.4+ |
Modifica o banco de dados |
Sim |
Tabelas | cu_changes cu_log_event cu_private_event cu_log |
Licença | GNU GPL (Licença Pública Geral) 2.0 ou superior |
Download | |
|
|
|
|
Quarterly downloads | 265 (Ranked 44th) |
Public wikis using | 4,936 (Ranked 20th) |
Para traduzir a extensão CheckUser, verifique sua disponibilidade no translatewiki.net | |
Problemas | Tarefas em aberto · Relatar um bug |
- Esta página é sobre a própria extensão. Para a política de Wikimedia Foundation CheckUser, veja m:Política de CheckUser.
CheckUser é uma extensão que permite que um usuário (com a permissão de checkuser
) verifique quais IPs são utilizados por um determinado usuário e que usuários são usados por um determinado IP, sem ter que executar consultas diretamente no banco de dados.
Esta extensão está presente em todas as wikis Wikimedia.
Download
A extensão pode ser recuperada diretamente a partir do Git [?]:
- Navegar pelo código
- Algumas extensões possuem tags para versões estáveis.
- Navegar pelas tags
- Selecione a tag
- Clique "snapshot"
- Cada pacote está associado com uma versão antiga do MediaWiki. Existe também um pacote "master" que contém a versão alfa mais recente (pode exigir uma versão alfa do MediaWiki).
- Navegar pelos pacotes
- Selecione um nome de pacote
- Clique “Continuar”
Extraia o snapshot e coloque-o no diretório extensions/CheckUser/ de sua instalação do MediaWiki.
Se você estiver familiarizado com o Git e tem acesso shell para seu servidor, você pode obter a extensão, como se segue:
cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CheckUser.git
Instalação
A extensão é liberada pela licença GNU General Public License 2.0 e posteriores. O software é fornecido como está. As atualizações serão feitas de acordo com as necessidades das wikis Wikimedia, ou quando vulnerabilidades críticas são descobertas.
Em uma wiki existente
Básico
- Se você instalou outras extensões sem executar
php maintenance/update.php
, execute isso primeiro.
- Baixe e coloque o(s) arquivo(s) num diretório chamado
CheckUser
na sua pastaextensions/
. - Se estiver instalando a partir do git, execute o Composer para instalar as dependências PHP através de
composer install --no-dev
no diretório da extensão. (Veja tarefa T173141 para possíveis complicações.) - Adicione o seguinte código ao final do seu arquivo
LocalSettings.php
:wfLoadExtension( 'CheckUser' );
- Execute o script de atualização que criará automaticamente as tabelas de banco de dados necessárias a essa extensão.
- Configure as required.
- Concluído – Navegue à página Special:Version em sua wiki para verificar se a instalação da extensão foi bem sucedida.
So, after installation from Git change to the directory containing the extension e.g. "../extensions/CheckUser/" and run composer install --no-dev
, or when updating: composer update --no-dev
.
Alternatively as well as preferably add the line "extensions/CheckUser/composer.json"
to the "composer.local.json" file in the root directory of your wiki like e.g.
{
"extra": {
"merge-plugin": {
"include": [
"extensions/CheckUser/composer.json"
]
}
}
}
Instalando sem acesso ao prompt de comando
Muitos provedores de hospedagem não permitem o acesso direto ao shell, mas permitem a criação de trabalhos cron (por exemplo, via a interface web cPanel).
Para os provedores de hospedagem, um trabalho cron temporário pode ser usado para executar php /path/to/install.php
(naturalmente /path/to
deve ser substituído pelo caminho completo real para install.php
).
Se você estiver usando um servidor remoto e não tiver acesso ao prompt de comando (se nem a solução de trabalho do cron é adequada para você), mas tem acesso através de phpMyAdmin, substitua estas etapas pelo passo #2 acima:
- Choose and download the tables_generated.sql file from the CheckUser/schema folder. Navigate in to the folder of the DB you are running to find the files.
- No phpMyAdmin, clique no banco de dados que você está usando para o MediaWiki no lado esquerdo
- Na próxima tela, clique na guia "Importar" na parte superior
- Em "Localização do arquivo de texto", escolha um dos arquivos, selecione "Nenhum" e clique no botão inferior "Ir".
- Se sua tela phpMyAdmin tiver apenas um campo de texto e nenhum escolhedor de arquivos de texto, clique no botão "SQL" na coluna ao lado esquerdo, no logotipo phpMyAdmin e clique na guia "importar arquivos" na nova janela que se abre.
- Repita para o segundo arquivo
Em uma nova wiki
Siga o passo 1 acima, em seguida, execute a instalação do MediaWiki. O instalador do MediaWiki executará automaticamente as tarefas de instalação se você selecionar a caixa de seleção para o CheckUser quando for solicitado quais as extensões a serem instaladas.
Using Mediawiki-Docker
Follow the steps in MediaWiki-Docker/Extension/CheckUser to install this extension inside a MediaWiki Docker instance.
Configuração
Esta ferramenta migra dados das mudanças recentes para uma tabela $changes separada e adiciona-se a isso quando novas entradas são adicionadas.
Se $wgPutIPinRC
foi previamente definido como false
, não haverá dados iniciais para pesquisa, mas as novas edições serão preenchidas assim que a extensão for configurada.
Depois de executar as consultas, você pode reduzir $wgRCMaxAge
para tornar as mudanças recentes mais curtas, sem afetar o checkuser.
Use $wgCUDMaxAge
para definir uma distância com os dados disponíveis para o checkuser podem ser exibidos, em segundos.
Nas versões do MediaWiki 1.22 e posteriores, a configuração específica do CheckUser $wgCheckUserCIDRLimit determina o maior intervalo que pode ser verificado em uma única verificação.
Seu formato é o mesmo que $wgBlockCIDRLimit .
Caso contrário, o limite padrão (para todas as versões) é /32
para seleções IPv6
e /16
para seleções IPv4
.
To enable Special:Investigate, set $wgCheckUserEnableSpecialInvestigate
to true
in LocalSettings.php.
Concedendo o direito de usar CheckUser
Para conceder o direito de usar a função CheckUser, um usuário capaz de gerenciar privilégios de usuário deve ir para Special:UserRights e digitar o nome do usuário na caixa e, em seguida, selecionar a opção "Check User". Uma vez feito isso, a opção Verificar Usuário aparecerá na página Special:SpecialPages para esse usuário.
Para ativar o gerenciamento de direitos do usuário para administradores, coloque o seguinte em LocalSettings.php
:
$wgGroupPermissions['sysop']['checkuser'] = true;
$wgGroupPermissions['sysop']['checkuser-log'] = true;
$wgGroupPermissions['sysop']['investigate'] = true;
Para permitir apenas a adição e remoção da permissão de checkuser
ao usuário, use o seguinte em vez disso:
$wgAddGroups['sysop'][] = 'checkuser';
$wgRemoveGroups['sysop'][] = 'checkuser';
Configuração
Parâmetros | Padrão | comentário |
---|---|---|
$wgCUDMaxAge
|
7776000
|
Quanto tempo para manter os dados CU (em segundos)? (padrão = 3 meses) |
$wgCheckUserMaxBlocks
|
200
|
Limite máximo de um bloqueio |
$wgCheckUserForceSummary
|
false
|
Configure isso como 'true' se você quiser forçar os checkusers a dar um motivo para cada verificação que eles fizerem através de Special:CheckUser. (não é muito útil, uma vez que os checkusers poderiam simplesmente dar um resumo como "eles precisam ser verificados" ou "Eu sinto que é necessário" e o software não saberia) |
$wgCheckUserCIDRLimit
|
[ 'IPv4' => 16, 'IPv6' => 32 ]
|
Limite CIDR mais curto em que podem se verificar em qualquer verificação de intervalo individual. |
$wgCUPublicKey
|
''
|
Chave pública para criptografar dados privados que podem ser lidos posteriormente. Gera uma chave pública com algo como:
|
$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 Extensão: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 Extensão: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 Extensão:CentralAuth installed) group(s) to add the link for. For example:
$wgCheckUserGBtoollink = [
'centralDB' => 'metawiki',
'groups' => [ 'steward', 'staff' ]
];
|
$wgCheckUserEnableSpecialInvestigate
|
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. |
$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. |
$wgCheckUserLogLogins
|
false
|
Whether CheckUser should log login attempts (both successful and not) in the checkUser table. |
$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 |
Special:CheckUser usage
Interface básica
- Vá para Special:CheckUser.
- No campo "usuário", digite o nome de um usuário (sem o prefixo
User:
), um endereço IP ou um intervalo CIDR.- IP: qualquer endereço IPv4 ou IPv6.
- CIDR: você pode verificar uma variedade de endereços IP anexando o prefixo CIDR (por padrão, até /16 para IPv4 (65.536 endereços), até /64 para IPv6 (~ 1.8446 * 10 19 endereços) antes [$gerrit revisão 7352], até /48 para endereços IPv6 (~ 1.2089 * 10 24 ou 65536 /64s - controlado por $wgCheckUserCIDRLimit na versão mais recente) após a revisão 7352, e até /32 (65536/48's) após phab:rECHU9d7c239bf88866eca577f3241194d440f94fa014).
Para a notação, veja Help:Bloqueios de intervalos .
- XFF: você pode verificar um endereço de cliente fornecido por X-Forwarded-For adicionando
/xff
(por exemplo,127.0.0.1/xff
).
- XFF: você pode verificar um endereço de cliente fornecido por X-Forwarded-For adicionando
- Selecione a informação que deseja recuperar.
- Obter IPs - #* Obter IPs: retorna endereços IP usados por um usuário registrado.
- Obter edições - #* Obter edições de IP: retorna todas as edições feitas por um usuário (registrado ou anônimo) de um endereço IP ou intervalo.
- Mostrar usuários - #* Obter usuários: retorna contas de usuários que foram editadas de um IP ou intervalo.
- No campo motivo, digite o motivo pelo qual você está acessando os dados confidenciais.
Tente resumir sucintamente a situação (por exemplo, "spam cross-wiki"); isso será logado em um registro visível apenas para usuários com a permissão checkuser-log
.
- Screenshots
-
Interface básica de uma verificação
-
Exemplo de uma verificação de um usuário registrado
-
Exemplo de uma verificação de um IP
-
Example Get edits check
-
Exemplo de registros de verificações
Informações exibidas
Uma entrada típica nos resultados das verificações para um resumo de usuário ("get users") é a seguinte:
- Example (talk | contribs | block) (Check) (20:11, 08 fevereiro 2023 -- 20:12, 08 fevereiro 2023) [5]
- 127.0.0.37 XFF: 127.0.0.1, 127.0.0.5
- Example user agent
Isso é formatado para se adequar a uma grande quantidade de informações em um formato que pode ser facilmente listado e compreendido, mas é difícil de ler, a menos que você saiba qual é a informação fornecida. A informação é apresentada da seguinte forma:
- Nome de usuário (Links de usuários) (Período de tempo em que os usuários editaram a partir do IP ou intervalo fornecido) [Número de edições do IP ou intervalo]
- O Endereço de IP editou de XFF: Informações XFF fornecidas (podem ser falsificadas)
Cada combinação de IP/XFF usada para editar está listada, em ordem de uso.
Os últimos dez agentes de usuário (navegador, sistema operacional, linguagem do sistema e versões) de cada edição feitas no IP ou no intervalo são listados posteriormente.
Formato XFF
Os cabeçalhos XFF (X-Forwarded-For) indicam a série de endereços IP usados do computador do usuário (primeiro) até o último servidor proxy. No caso da Wikimedia, o último servidor proxy é um dos proxies da Wikimedia (listado em $wgCdnServersNoPurge no arquivo de configuração da Wikimedia).
Exemplo:
aaa.aaa.aaa.aaa XFF: 10.4.46.42, 127.0.0.1, aaa.aaa.aaa.aaa, 208.80.152.46
- Os dois primeiros endereços (
10.4.46.42
,127.0.0.1
) são privados para a rede de origem e não podem ser alcançados diretamente pela Internet pública, - O terceiro endereço (
aaa.aaa.aaa.aaa
) é o "rosto público" do editor, geralmente um ISP de banda larga ou dial-up, um gateway da empresa, (mas possivelmente um anonimizador ou um servidor comprometido com malware) - O último endereço (
208.80.152.46
) é uma das squids da Wikimedia (sq36.wikimedia.org
).
Opções de configuração do MediaWiki $wgUsePrivateIPs , $wgCdnServers , $wgCdnServersNoPurge e usando extensões. O hook IsTrustedProxy (com a Extension:TrustedXFF ) altera a forma em que um endereço IP real usado para atribuir edições está selecionado.
Personal tool links
When you get results from Special:CheckUser you can add personal user tool links via two interface messages:
MediaWiki:checkuser-userlinks-ip
for IP addresses (for example m:MediaWiki:checkuser-userlinks-ip)
MediaWiki:Checkuser-userlinks
for registered users (for example m:MediaWiki:Checkuser-userlinks)
MediaWiki:checkuser-toollinks
- for IPs in the 'Get IP Addresses' check type (for example m:MediaWiki:checkuser-toollinks)
Special:Investigate usage
Basic usage
- Vá para Special:Investigate.
- In the Usernames and IP addresses field, type in up to 10 targets, which may be usernames (without the
User:
prefix), IP addresses, or CIDR ranges. - In the Reason field, enter the reason you are accessing the confidential data, as described in the Special:CheckUser instructions above; this will be logged in a log visible only to users with the investigate permission.
- Screenshots
-
Input form
-
Account information tab
-
IPs and user agents tab
-
Timeline tab
For advanced feature usage, see Help:Special Investigate.
Customizing tool links
As with Special:CheckUser, links to external tools can be customized.
The links are defined in the checkuser-investigate-compare-toollinks
message.
This message is parsed to find links, which are added to the menu in the IPs and user agents tab.
API
CheckUser também fornece um 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
Esta extensão está sendo usado por um ou mais projetos da Wikimedia. Isto significa que, provavelmente, a extensão é estável e funciona bem o suficiente para ser utilizada em sites de alto tráfego. Procure pelo nome dessa extensão nos arquivos de configuração CommonSettings.php e InitialiseSettings.php da Wikimedia para verificar onde ela foi instalada. Uma lista completa das extensões instaladas numa wiki em particular podem ser visualizadas na página Special:Version da wiki. |
This extension is included in the following packages and/or wiki farms: This is not an authoritative list. Some wiki farms/hosts may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |