Estensione:CheckUser
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 | Sì |
Tabelle | cu_changes cu_log_event cu_private_event cu_log cu_useragent_clienthints cu_useragent_clienthints_map cu_useragent |
Licenza | GNU General Public License 2.0 or later |
Scaricare | |
|
|
|
|
|
|
Quarterly downloads | 193 (Ranked 36th) |
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 yourextensions/
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 IPv6
e /16
per i controlli IPv4
.
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.
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
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:
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+)
|
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
- Vai a Special:CheckUser.
- 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
).
- 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.
- 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
.
-
Interfaccia CheckUser di base
-
Esempio di controllo del nome utente
-
Esempio di controllo IP
-
Esempio di controllo delle Ottieni modifiche
-
Esempio di Log
Informazioni restituite
Una voce tipica nei risultati CheckUser per un riepilogo utente ("get users") è la seguente:
- Example (talk | contribs | block) (Check) (20:11, 02 maggio 2024 -- 20:12, 02 maggio 2024) [5]
- 127.0.0.37 XFF: 127.0.0.1, 127.0.0.5
- 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]
- 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
- Vai a Special:Investigate.
- 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. - 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.
-
Maschera di inserimento
-
Scheda Informazioni sull'account
-
Scheda IP e user agent
-
Scheda Cronologia
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"}}
Questa estensione viene utilizzata su uno o più progetti Wikimedia. Ciò probabilmente significa che l'estensione è stabile e funziona abbastanza bene da essere utilizzata da siti Web ad alto traffico. Cerca il nome di questa estensione nei file di configurazione CommonSettings.php e InitialiseSettings.php di Wikimedia per vedere dove è installato. Un elenco completo delle estensioni installate su un particolare wiki può essere visto sulla pagina Special:Version del wiki. |
This extension is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |
- Stable extensions/it
- Special page extensions/it
- User identity extensions/it
- API extensions/it
- Hook extensions/it
- Database extensions/it
- GPL licensed extensions/it
- Extensions in Wikimedia version control/it
- Extensions which add rights/it
- AuthManagerLoginAuthenticateAudit extensions/it
- BeforePageDisplay extensions/it
- ContribsPager::getQueryInfo extensions/it
- ContributionsToolLinks extensions/it
- EmailUser extensions/it
- GetPreferences extensions/it
- LoadExtensionSchemaUpdates extensions/it
- LocalUserCreated extensions/it
- PerformRetroactiveAutoblock extensions/it
- RecentChange save extensions/it
- RenameUserSQL extensions/it
- ResourceLoaderRegisterModules extensions/it
- SaveUserOptions extensions/it
- SpecialPageBeforeExecute extensions/it
- SpecialPage initList extensions/it
- User::mailPasswordInternal extensions/it
- UserLogoutComplete extensions/it
- UserMergeAccountFields extensions/it
- UserToolLinksEdit extensions/it
- All extensions/it
- Extensions requiring Composer with git/it
- Extensions used on Wikimedia/it
- Extensions included in Canasta/it
- Extensions included in Fandom/it
- Extensions included in Miraheze/it
- Extensions included in ShoutWiki/it
- Extensions included in Telepedia/it
- Extensions included in WikiForge/it
- Log extensions/it