Estensione:CheckUser

This page is a translated version of the page Extension:CheckUser and the translation is 97% complete.
Outdated translations are marked like this.
Manuale sulle Estensioni MediaWiki
CheckUser
Stato della release: stabile
Implementazione Pagina speciale , Identità utente , API , Hook , Database
Descrizione La funzione di controlla utente permette a un utente, con i rispettivi permessi, di controllare quali indirizzi IP sono utilizzati da un determinato nome utente o quali nomi utente sono stati utilizzati da un determinato indirizzo IP, senza dovere eseguire consultazioni direttamente sul database a mano.
Autore(i) Tim Starling, Aaron Schulz, Dreamy Jazz
Versione 2.5 (continuous updates)
Politica di compatibilità Snapshots releases along with MediaWiki. Master is not backward compatible.
MediaWiki 1.39+
PHP 7.4.3+
Modifiche al Database
Virtual domain virtual-checkuser-global
Tabelle 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
Licenza GNU General Public License 2.0 or later
Scaricare
  • $wgCheckUserGBtoollink
  • $wgCheckUserClientHintsSpecialPages
  • $wgCheckUserCAMultiLock
  • $wgCheckUserLogSuccessfulBotLogins
  • $wgCheckUserLogLogins
  • $wgCUPublicKey
  • $wgCheckUserCAtoollink
  • $wgCheckUserCuciUserRandomChanceDebounceCutoff
  • $wgCheckUserClientHintsRestApiMaxTimeLag
  • $wgCheckUserDeveloperMode
  • $wgCheckUserWriteToCentralIndex
  • $wgCheckUserCentralIndexRangesToExclude
  • $wgCUDMaxAge
  • $wgCheckUserCIDRLimit
  • $wgCheckUserMaxBlocks
  • $wgCheckUserCentralIndexGroupsToExclude
  • $wgCheckUserDisplayClientHints
  • $wgCheckUserGlobalContributionsCentralWikiId
  • $wgCheckUserForceSummary
  • $wgCheckUserInvestigateMaximumRowCount
  • $wgCheckUserMaximumIPsToAutoblock
  • $wgCheckUserClientHintsForDisplay
  • $wgCheckUserClientHintsValuesToHide
  • $wgCheckUserClientHintsUnsetHeaderWhenPossible
  • $wgCheckUserCollapseCheckUserHelperByDefault
  • $wgCheckUserClientHintsEnabled
  • $wgCheckUserTemporaryAccountMaxAge
  • $wgCheckUserMaximumRowCount
  • $wgCheckUserClientHintsHeaders

  • checkuser
  • checkuser-log
  • checkuser-temporary-account
  • investigate
Quarterly downloads 192 (Ranked 30th)
Public wikis using 9,118 (Ranked 13th)
Traduci l'estensione CheckUser se è disponibile su translatewiki.net
Problemi Compiti aperti · Riportare un bug
Questa pagina riguarda l'estensione stessa. Per la politica "Verifica utente" di Wikimedia Foundation, vedere m:CheckUser policy.

Verifica utente è un'estensione che consente a un utente (con il permesso checkuser) di verificare quali indirizzi IP sono utilizzati da un dato nome utente e quali nomi utente sono utilizzati da un dato IP, senza dover eseguire query direttamente su il database a mano. L'estensione è in esecuzione su tutti i wiki Wikimedia.

Gli aggiornamenti verranno effettuati in base alle esigenze dei wiki di Wikimedia Foundation; o dove vengono scoperte vulnerabilità critiche.

Installazione

  • Download and move the extracted CheckUser folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CheckUser
  • Solo durante l'installazione da git eseguire Composer per installare le dipendenze PHP, immettendo composer install --no-dev nella directory dell'estensione. (Vedere task T173141 per potenziali complicazioni.)
  • Aggiungi il seguente codice al tuo $LocalSettings (preferibilmente alla fine):
    wfLoadExtension( 'CheckUser' );
    
  • Esegui lo script di aggiornamento, che creerà automaticamente nel database le tavole necessarie a questa estensione.
  • Configurare come richiesto.
  •   Done – Naviga in Special:Version nella tua wiki per verificare che l'estensione sia stata installata correttamente.

Utilizzo di MediaWiki-Docker

Segui i passaggi in MediaWiki-Docker/Extension/CheckUser per installare questa estensione all'interno di un'istanza Docker MediaWiki.

Configurazione

Questo strumento copia i dati delle modifiche recenti in tabelle separate e li aggiunge quando vengono aggiunte nuove voci. Se $wgPutIPinRC è impostato su false, i dati copiati non conterranno l'indirizzo IP associato. Tuttavia, le voci aggiunte dopo l'installazione di questa estensione conterranno l'indirizzo IP.

Dopo l'installazione di questa estensione, puoi ridurre $wgRCMaxAge per ridurre le modifiche recenti senza influire sul checkuser. Utilizza $wgCUDMaxAge per impostare quanto indietro possono andare indietro i dati del checkuser, in secondi.

L'impostazione specifica di CheckUser $wgCheckUserCIDRLimit determina l'intervallo più ampio che può essere controllato in un singolo controllo. Il suo formato è lo stesso di $wgBlockCIDRLimit . Il limite predefinito è /32 per i controlli $2 e /16 per i controlli $4.

Per consentire a questo strumento di registrare i tentativi di accesso riusciti e non riusciti come le disconnessioni, impostare $wgCheckUserLogLogins a true. Se hai account bot sulla tua wiki, setting $wgCheckUserLogSuccessfulBotLogins a false salterà la registrazione dei tentativi di accesso riusciti agli account bot.

Versione 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.

Concessione del diritto di utilizzare CheckUser

Per concedere il diritto di utilizzare Special:CheckUser, Special:Investigate e Special:CheckUserLog, un utente con gestione dei diritti utente deve andare su Special:UserRights e inserire il nome dell'utente nella casella, quindi selezionare l'opzione "checkuser". Una volta fatto ciò, le pagine speciali sopra menzionate verranno visualizzate nella pagina Special:SpecialPages per quell'utente.

Per consentire agli utenti di accedere agli indirizzi IP degli account temporanei, dovrebbe essere concesso loro il diritto di checkuser-temporary-account.

Per concedere agli amministratori tutti i diritti forniti da questa estensione, inserisci quanto segue in LocalSettings.php:

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

Per consentire solo l'aggiunta e la rimozione del permesso checkuser, utilizzare invece quanto segue:

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

Configurazione

Configura le impostazione in extension.json
parametro default commento
$wgCUDMaxAge 7776000 Per quanto tempo conservare i dati CU (in secondi)? (predefinito = 3 mesi)
$wgCheckUserMaxBlocks 200 Limiti del blocco di massa
$wgCheckUserForceSummary false Impostalo su true se vuoi forzare i checkuser a fornire un motivo per ogni controllo effettuato tramite Special:CheckUser. (Non molto utile, dato che i checkusers potrebbero semplicemente fornire un riepilogo come "devono essere controllati" o "mi va" e il software non lo saprebbe.)
$wgCheckUserCIDRLimit [ 'IPv4' => 16, 'IPv6' => 19 ] Il valore CIDR più piccolo che può essere utilizzato in qualsiasi controllo dell'intervallo individuale
$wgCUPublicKey '' Chiave pubblica per crittografare i dati privati che potrebbero dover essere letti in seguito. Genera una chiave pubblica con qualcosa del tipo:

openssl genrsa -out cu.key 2048; openssl rsa -in cu.key -pubout > cu.pub e incolla qui il contenuto di cu.pub

Utilizzato con una chiave privata associata per crittografare determinati dati che non vengono mostrati ai CU ma archiviati nella tabella cu_changes o cu_private_event. Attualmente, questi sono solo i destinatari delle e-mail. Senza una chiave pubblica valida, i dati non verranno archiviati.

$wgCheckUserCAMultiLock false Questo può essere utilizzato per aggiungere un collegamento a Special:MultiLock di CentralAuth al modulo di blocco di massa di Special:CheckUser Ciò richiede che l'estensione CentralAuth sia installata sulla wiki. Per abilitarlo, impostalo su un array con il nome del database di una wiki centrale e un array con il(i) nome(i) del(i) gruppo(i) globale(i) per cui aggiungere il collegamento. Per esempio:
$wgCheckUserCAMultiLock = [
    'centralDB' => 'metawiki',
    'groups' => [ 'steward' ]
];
$wgCheckUserCAtoollink false Dato che 77360f1cf1d2. Questo aggiunge un collegamento dalla pagina Special:CentralAuth della wiki centrale ai risultati "Ottieni utenti" di Special:CheckUser. Ciò richiede che l'estensione CentralAuth sia installata sulla wiki. Per abilitare questo, impostalo con il nome del database di una wiki centrale. Per esempio:
$wgCheckUserCAtoollink = 'metawiki';
$wgCheckUserGBtoollink false Dato che 77360f1cf1d2. Ciò aggiunge un collegamento dalla pagina Special:GlobalBlock della wiki locale o centrale ai risultati "Ottieni utenti" di Special:CheckUser. Ciò richiede che l'estensione GlobalBlocking sia installata sulla wiki. Per consentire questo, se è configurato un $wgConf impostalo su un array con il nome del database di un wiki centrale e su un array con il(i) nome (i) del gruppo (i) locale (o globale se hai installato CentralAuth ) per aggiungere il link. Per esempio:
$wgCheckUserGBtoollink = [
	'centralDB' => 'metawiki',
	'groups' => [ 'steward', 'staff' ]
];
$wgCheckUserEnableSpecialInvestigate (1.35-1.43) false (<=1.39)
true (1.40+)
Dato che 57dcfe46d2e4. Ciò abilita Special:Investigate, una versione aggiornata di Special:CheckUser che consente di verificare più account utente e indirizzi IP all'interno di un'indagine.
$wgCheckUserLogLogins false Indica se CheckUser deve registrare i tentativi di login e di logout (sia riusciti che no).
$wgCheckUserLogSuccessfulBotLogins true Indica se il CheckUser deve memorizzare i tentativi di accesso con successo degli account con il bot del gruppo di utenti se $wgCheckUserLogLogins è impostato a true. Si usa solo se $wgCheckUserLogLogins è true
$wgCheckUserMaximumRowCount 5000 Il numero massimo di risultati che possono essere restituiti da Special:CheckUser Prima della MediaWiki 1.39, Nelle pagine "Ottieni modifiche" e "Ottieni IP" i risultati con risultati superiori a 5 000 avrebbero restituito i risultati in un formato diverso. Da MediaWiki 1.39 questo è il numero massimo di risultati da mostrare per pagina e altri possono essere generati utilizzando i collegamenti di paginazione
$wgCheckUserInvestigateMaximumRowCount 25000 Simile a $wgCheckUserMaximumRowCount, ma per indagare
$wgCheckUserTemporaryAccountMaxAge (1.40+) 86400 Il numero di secondi per i quali la risposta API dell'account temporaneo è recente.
$wgCheckUserEventTablesMigrationStage (1.40+) 3 (1.40)
259 (1.41)
769 (1.42-1.43)
768 (1.43)
Used to control the migration stage of log events stored in cu_changes to the new cu_log_event and cu_private_event tables. Is temporary and will be removed once migration is complete.
$wgCheckUserClientHintsEnabled (1.41+) true Utilizzato per controllare se i suggerimenti del client devono essere raccolti e visualizzati nei risultati da CheckUser
$wgCheckUserClientHintsSpecialPages (1.41+) [ "CreateAccount", "Emailuser", "PasswordReset", "Userlogin", "Userlogout" ] The list of SpecialPages where CheckUser will request client hints if $wgCheckUserClientHintsEnabled is true.
$wgCheckUserClientHintsActionQueryParameter (1.41+) [ "history" ] L'elenco dei valori di "azione" nei parametri di query in cui verranno richiesti i suggerimenti del client.
$wgCheckUserClientHintsHeaders (1.41+) { "Sec-CH-UA": "", "Sec-CH-UA-Arch": "architecture", "Sec-CH-UA-Bitness": "bitness", "": "brands", "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": ""} L'elenco dei tipi di suggerimento del client che verranno richiesti. Le chiavi rappresentano i valori dei suggerimenti del client richiesti utilizzando l'intestazione Accept-CH. I valori rappresentano il nome equivalente quando vengono richiesti dall'API dei suggerimenti client lato client JS.
$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.


Uso del Special:CheckUser

Interfaccia di base

  1. Vai a Special:CheckUser.
  2. Nel campo utente, digita il nome utente (senza il prefisso User:), l'indirizzo IP o l'intervallo CIDR.
    • IP: qualsiasi indirizzo IPv4 o IPv6.
    • CIDR: puoi controllare un intervallo di indirizzi IP aggiungendo il prefisso CIDR. Il valore del prefisso CIDR per IPv4 può essere compreso tra 16 e 32 e il valore per IPv6 può essere compreso tra 19 e 128. Il numero più piccolo per entrambi gli intervalli può essere modificato utilizzando la variabile di configurazione $wgCheckUserCIDRLimit. Per la notazione, vedere Aiuto: Blocchi per intervalli di IP .
    • XFF: puoi controllare l'indirizzo IP di un client fornito dalle intestazioni X-Forwarded-For aggiungendo /xff (ad esempio, 127.0.0.1/xff).
  3. Seleziona le informazioni che desideri recuperare.
    • Ottieni indirizzi IP - restituisce gli indirizzi IP utilizzati da un utente registrato.
    • Ottieni azioni - restituisce tutte le modifiche e le azioni registrate effettuate dagli utenti utilizzando un indirizzo IP o un intervallo specificato nel campo obiettivo o, se l'obiettivo è un utente, tutte le modifiche e le azioni registrate da quell'utente.
    • Cerca utenti - restituisce gli account utente che hanno editato da un IP o da un intervallo.
  4. Nel campo "Motivo:", digita il motivo per cui stai accedendo ai dati riservati. Prova a riassumere brevemente la situazione (ad esempio, "spam cross-wiki"); questo verrà registrato in un registro visibile solo agli utenti con il permesso checkuser-log.

Informazioni restituite

Una voce tipica nei risultati CheckUser per un riepilogo utente ("get users") è la seguente:


  1. Example user agent

Questa è formattata per inserire molte informazioni in un formato che può essere facilmente elencato e sfogliato, ma è difficile da leggere a meno che non si sappia quali siano le informazioni fornite. Le informazioni sono così disposte:

  • nome utente (collegamenti utente) (periodo di tempo in cui hanno effettuato la modifica dall'IP o dall'intervallo specificato) [numero di edit dall'IP o dall'intervallo]
    1. Indirizzo IP dell'origine dell'edit XFF: Informazioni XFF fornite (possono essere falsificate)

È elencata ciascuna combinazione IP/XFF utilizzata per l'edit, in ordine di utilizzo.

Successivamente vengono elencati gli ultimi dieci user agent (browser, sistema operativo, lingua del sistema e versioni) per ciascun utente per gli edit fatti nell'IP o nell'intervallo.

Formato XFF

Le intestazioni XFF (X-Forwarded-For) indicano la serie di indirizzi IP utilizzati dal computer dell'utente (il primo) all'ultimo server proxy. Nel caso di Wikimedia, l'ultimo server proxy è uno dei proxy Wikimedia (elencato sotto $wgCdnServersNoPurge nel file di configurazione Wikimedia).

In questo esempio:

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

  • i primi due indirizzi (10.4.46.42, 127.0.0.1) sono privati per la rete di origine e non possono essere raggiunti direttamente dall'Internet pubblica,
  • il terzo indirizzo (aaa.aaa.aaa.aaa) è la "faccia pubblico" dell'editore, solitamente un ISP a banda larga o dial-up, un gateway aziendale (ma possibilmente un anonimizzatore o un server compromesso da malware),
  • l'ultimo indirizzo (208.80.152.46) è uno dei squid di Wikimedia (sq36.wikimedia.org).

Le impostazioni di configurazione di MediaWiki $wgUsePrivateIPs , $wgCdnServers , $wgCdnServersNoPurge e estensioni che utilizzano l'hook IsTrustedProxy (come Extension:TrustedXFF ) cambiano il modo in cui viene selezionato un indirizzo IP effettivo utilizzato per attribuire le modifiche.

Collegamenti agli strumenti personali

Quando ottieni risultati da Special:CheckUser puoi aggiungere collegamenti agli strumenti utente personali tramite i seguenti messaggi dell'interfaccia:

  • MediaWiki:checkuser-userlinks-ip per gli indirizzi IP (ad esempio m:MediaWiki:checkuser-userlinks-ip)
  • MediaWiki:Checkuser-userlinks per gli utenti registrati (ad esempio m:MediaWiki:Checkuser-userlinks)
  • MediaWiki:checkuser-toollinks per gli IP nel tipo di controllo "Ottieni indirizzi IP" (ad esempio m:MediaWiki:checkuser-toollinks)
  • MediaWiki:Checkuser-cidr-tool-links per gli intervalli IP prodotti dal calcolatore CIDR presente in fondo a tutte le pagine Special:CheckUser. Messaggio di interfaccia aggiunto nella 1.41.

Utilizzo del Special:Investigate

Utilizzo di base

  1. Vai a Special:Investigate.
  2. Nel campo Nomi utente o indirizzi IP, digita fino a 10 obiettivi, che possono essere nomi utente (senza il prefisso User:), indirizzi IP o intervalli CIDR.
  3. Nel campo Motivo, inserisci il motivo per cui stai accedendo ai dati riservati, come descritto nelle istruzioni Special:CheckUser sopra; questo verrà registrato in un registro visibile solo agli utenti con l'autorizzazione checkuser-log.

Per l'utilizzo avanzato delle funzionalità, consulta Aiuto:Special Investigate.

Personalizzazione dei collegamenti degli strumenti

Come per Special:CheckUser, i collegamenti agli strumenti esterni possono essere personalizzati.

I collegamenti sono definiti nel messaggio checkuser-investigate-compare-toollinks . Questo messaggio viene analizzato per trovare collegamenti che vengono aggiunti al menu nella scheda IP e user agent.

Visualizzazione degli IP per gli account temporanei

Versione MediaWiki:
1.40
 

L'estensione CheckUser mostrerà a partire da MediaWiki 1.40 un pulsante che viene visualizzato accanto ai collegamenti degli account utente temporanei che consente di rivelare il loro indirizzo IP.

Questa funzionalità è disponibile esclusivamente per gli utenti con il diritto checkuser-temporary-account, garantendogli la possibilità di visualizzare gli indirizzi IP collegati ad account temporanei. Per accedere a queste informazioni, la funzione Abilita la rivelazione degli indirizzi IP per gli account temporanei deve essere abilitata sulla pagina Special:Preferences dell'utente.

Questi pulsanti appariranno ovunque vengano mostrati i collegamenti utente per un account temporaneo, ad esempio quando si visualizzano le cronologie delle pagine o in Speciale:Contributi. Tuttavia, questi non verranno mostrati su Special:CheckUser, Special:Investigate o Special:InvestigateBlock.

API

API CheckUser e CheckUserLog

CheckUser fornisce una API che consente l'accesso alle informazioni mostrate su Special:CheckUser e Special:CheckUserLog. Queste due API funzionano in modo abbastanza simile alle pagine speciali, ma il motivo di un controllo utilizzando l'API checkuser ha il prefisso "API:" per indicare che sono state effettuate utilizzando l'API. Di seguito sono riportati esempi di utilizzo di queste API.

API CheckUser
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 CheckUserLog
api.php?action=query&list=checkuserlog&culuser=WikiSysop&cullimit=25
api.php?action=query&list=checkuserlog&cultarget=127.0.0.1&culfrom=20111015230000

Temporary Account Reveal API

Versione MediaWiki:
1.40

L'utilizzo

La classe TemporaryAccountHandler offre endpoint API per recuperare gli indirizzi IP associati agli account utente temporanei. Per accedere a queste informazioni, la funzione Abilita la rivelazione degli indirizzi IP per gli account temporanei deve essere abilitata sulla pagina Special:Preferences dell'utente.

API endpoint

GET /rest.php/checkuser/v0/temporaryaccount/{name} dove {name} è il nome utente che desideri cercare

Risposta

Se la richiesta ha esito positivo, l'API risponderà con un oggetto JSON contenente i seguenti campi:

Nome Tipo Descrizione
ips string[] Gli IP dell'account temporaneo specificato

Se la richiesta fallisce, l'API risponderà con un codice di errore e un messaggio appropriati.

Richiesta di esempio

GET /rest.php/checkuser/v0/temporaryaccount/*Unregistered%202

Risposta di esempio

{"ips": [ "114.127.69.62" , "212.47.235.82" , "212.47.235.81" ]}

TemporaryAccountRevisionHandler

La classe TemporaryAccountRevisionHandler offre endpoint API per visualizzare l'IP associato a una revisione per gli account temporanei. È possibile specificare uno o più ID di revisione nella stringa di query.

API endpoint

GET /rest.php/checkuser/v0/temporaryaccount/*Unregistered%203/revisions/{revisionId} dove {revisionId} è(sono) l'(gli) ID di revisione che desideri cercare separato(i) dal carattere |.

Risposta

Se la richiesta ha esito positivo, l'API risponderà con un oggetto JSON contenente i seguenti campi:

Name Type Description
ips dictionary L'ID di revisione come chiave e l'indirizzo IP associato come valore.

Se la richiesta fallisce, l'API risponderà con un codice di errore e un messaggio appropriati.

Richiesta di esempio

GET /rest.php/checkuser/v0/temporaryaccount/*Unregistered%203/revisions/31

Risposta di esempio

{"ips":{"31":"40.175.36.227"}}

Richiesta di esempio con più revisioni

GET /w/rest.php/checkuser/v0/temporaryaccount/*Unregistered%205/revisions/194|193

Risposta di esempio

{"ips":{"194":"40.175.36.227","193":"1.2.3.4"}}