Projeto no Phabricator: #CheckUser

Extensão: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 91% complete.

Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎dansk • ‎español • ‎français • ‎italiano • ‎magyar • ‎polski • ‎português do Brasil • ‎svenska • ‎русский • ‎فارسی • ‎বাংলা • ‎中文 • ‎日本語 • ‎한국어
Manual de extensões do MediaWiki
Crystal Clear action run.svg
CheckUser
Estado da versão: estável
CheckUser1.png
Implementação Special page, User identity
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.4 (continuous updates)
Política de
compatibilidade
branches por lançamento
MediaWiki 1.27+
PHP 5.4+
Modifica o banco
de dados
Sim
Tabelas cu_changes
cu_log
Licença GNU General Public License 2.0 or later
Download
Direitos adicionados
checkuser
checkuser-log
Hooks usados
RecentChange_save
EmailUser
AuthPluginAutoCreate
ParserTestTables
LoadExtensionSchemaUpdates
ContributionsToolLinks
ArticleEditUpdatesDeleteFromRecentchanges
LoggableUserIPData
AddNewAccount
Traduzir a extensão CheckUser, se estiver disponível no translatewiki.net
Verificar uso e matriz de versões
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.
  • 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).

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/p/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 pasta extensions/.
  • Adicione o seguinte código ao final do seu arquivo LocalSettings.php:
    wfLoadExtension( 'CheckUser' );
    
  • Para usuários executando o MediaWiki 1.27 ou anterior:
Usando um programa telnet/ssh, como o PuTTY, navegue até a pasta extensions/CheckUser e execute php install.php. Certifique-se de que está executando uma instalação do PHP versão 5.x, caso contrário este script não será executado. Se install.php não estiver presente, execute php maintenance/update.php novamente. O resultado será algo semelhante a este:
...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 Pronto – Navegue à página Special:Version em sua wiki para verificar se a instalação da extensão foi bem sucedida.

Para usuários executando o MediaWiki 1.24 ou anteriores:

As instruções acima descrevem a nova forma de instalar essa extensão utilizando wfLoadExtension() Se precisar instalar essa extensão em versões antigas (MediaWiki 1.24 e anteriores), em vez de wfLoadExtension( 'CheckUser' );, você precisa usar:

require_once "$IP/extensions/CheckUser/CheckUser.php";
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:

  1. Instale cu_changes.sql e cu_log.sql
  2. No phpMyAdmin, clique no banco de dados que você está usando para o MediaWiki no lado esquerdo
  3. Na próxima tela, clique na guia "Importar" na parte superior
  4. 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.
  5. 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.

Configuração

Esta ferramenta migra dados das mudanças recentes para uma tabela cu_changes separada e adiciona-se a isso quando novas entradas são adicionadas. Se $wgPutIPinRC foi previamente definido como falso, 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.

Verificar usuários usando o Mozilla Firefox não podem adicionar este script JS ao arquivo .js deles. Isso torna a recuperação de dados WHO WHOIS mais fáceis. Isso requer suporte applets.codebase.principle (about:config) habilitado. (Isso pode ser signed.applets.codebase_principle_support no Firefox 3)

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á em "Páginas especiais" 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;

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

Opções de configuração em CheckUser.php
Parâmetros Padrão comentário
$wgCUDMaxAge 7776000 Quanto tempo para manter os dados CU (em segundos)?
$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:

`openssl genrsa -out cu.key 2048; openssl rsa -in cu.key -pubout > cu.pub` e colar o conteúdo do cu.pub aqui

$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' ]
];

Uso

Interface básica

  1. Vá para Special:CheckUser.
  2. No campo "usuário", digite o nome de um usuário (sem o prefixo 'usuário:'), um endereço IP ou um intervalo CIDR.
  3. * IP: qualquer endereço IPv4 ou IPv6.
  4. * 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 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 revisão rECHU9d7c239bf888eca577f3241194d440f94fa014). Para a notação, veja Bloqueios de intervalo.
  5. * XFF: você pode verificar um endereço de cliente fornecido por X-Forwarded-For adicionando /xff (por exemplo, 127.0.0.1/xff).
  6. Selecione a informação que deseja recuperar.
  7. * Obter IPs: retorna endereços IP usados ​​por um usuário registrado.
  8. * 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.
  9. * Obter usuários: retorna contas de usuários que foram editadas de um IP ou intervalo.
  10. 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'.

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) (20:11, 08 dezembro 2018 -- 20:12, 08 dezembro 2018) [5]
    1. 127.0.0.37 XFF: 127.0.0.1, 127.0.0.5

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]
    1. 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

As informações XFF (X-Forwarded-For) indicam uma série de endereços IP usados no computador do usuário (primeiro) para o último servidor proxy. No caso da Wikimedia, o último servidor proxy é um dos proxies da Wikimedia (listados em $wgSquidServersNoPurge no Arquivo de configuração CommonSettings.php 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, $wgSquidServers, $wgSquidServersNoPurge 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:

Mensagens de erro

Erro de sintaxe na consulta do banco de dados

Se você receber uma mensagem de erro assim quando tentar gravar uma página:

Ocorreu um erro de sintaxe na consulta do banco de dados. Isso pode indicar um erro no software. A última tentativa de consulta no banco de dados foi:

(busca SQL escondida)

Da função "efUpdateCheckUserData". Erro devolvido pelo banco de dados "1146: Tabela 'cu_changes' não existe (localhost)".

Isso significa que o usuário verificado não foi instalado corretamente. Neste caso, você esqueceu de criar a tabela cu_changes necessária em seu banco de dados.

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