Extensie:CheckUser

From mediawiki.org
This page is a translated version of the page Extension:CheckUser and the translation is 100% complete.
MediaWiki Handleiding extensies
CheckUser
Release status: stabiel
Implementatie Speciale pagina , Gebruikersidentiteit , API , Hook , Database
Beschrijving Met de functie CheckUser kan een gebruiker met dat recht controleren welke IP's worden gebruikt door een bepaalde gebruikersnaam en welke gebruikersnamen worden gebruikt door een bepaald IP-adres, zonder dat hij query's rechtstreeks handmatig op de database hoeft uit te voeren.
Auteur(s) Tim Starling, Aaron Schulz, Dreamy Jazz
Laatste versie 2.5 (continuous updates)
Compatibiliteit beleid Snapshots releases samen met MediaWiki. Master is niet achterwaarts compatibel.
MediaWiki 1.39+
PHP 7.4.3+
Database wijzigingen Ja
Tabellen cu_changes
cu_log_event
cu_private_event
cu_log
cu_useragent_clienthints
cu_useragent_clienthints_map
cu_useragent
Licentie GNU General Public Licentie 2.0 of hoger
Download
  • $wgCheckUserGBtoollink
  • $wgCheckUserClientHintsSpecialPages
  • $wgCheckUserCAMultiLock
  • $wgCheckUserLogSuccessfulBotLogins
  • $wgCheckUserLogLogins
  • $wgCUPublicKey
  • $wgCheckUserCAtoollink
  • $wgCheckUserClientHintsRestApiMaxTimeLag
  • $wgCheckUserDeveloperMode
  • $wgCheckUserClientHintsForDisplay
  • $wgCUDMaxAge
  • $wgCheckUserCIDRLimit
  • $wgCheckUserMaxBlocks
  • $wgCheckUserPurgeOldClientHintsData
  • $wgCheckUserDisplayClientHints
  • $wgCheckUserClientHintsUnsetHeaderWhenPossible
  • $wgCheckUserForceSummary
  • $wgCheckUserEnableSpecialInvestigate
  • $wgCheckUserLogAdditionalRights
  • $wgCheckUserCollapseCheckUserHelperByDefault
  • $wgCheckUserClientHintsValuesToHide
  • $wgCheckUserClientHintsEnabled
  • $wgCheckUserMaximumRowCount
  • $wgCheckUserInvestigateMaximumRowCount
  • $wgCheckUserTemporaryAccountMaxAge
  • $wgCheckUserEventTablesMigrationStage
  • $wgCheckUserClientHintsHeaders

  • checkuser
  • checkuser-log
  • checkuser-temporary-account
  • investigate
Downloads kwartaal 209 (Ranked 32nd)
Publieke wiki's die het gebruiken 9,118 (Ranked 13th)
Vertaal de CheckUser extensie indien beschikbaar op translatewiki.net
Problemen Open taken · Rapporteer een bug
Deze pagina gaat over de extensie zelf. Voor het CheckUser beleid van de Wikimedia Foundation, zie deze pagina.

CheckUser is een extensie waarmee een gebruiker (met dat recht checkuser) kan controleren welke IP-adressen worden gebruikt door een bepaalde gebruikersnaam en welke gebruikersnamen worden gebruikt door een bepaald IP-adres, zonder dat query's rechtstreeks met de hand op de database hoeven te worden uitgevoerd. De extensie wordt in productie uitgevoerd op alle Wikimedia wiki's.

Updates worden gemaakt volgens de behoeften van Wikimedia Foundation wiki's; of waar kritieke kwetsbaarheden worden ontdekt.

Installatie

  • Download en plaats de bestanden in de map CheckUser in de map extensions/.
    Ontwikkelaars en bijdragers van code moeten in plaats daarvan de extensie van Git installeren, met behulp van:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CheckUser
  • Alleen bij installeren vanuit Git, run Composer om PHP afhankelijkheden te installeren, door het publiceren van composer install --no-dev in de extensie-map. (Zie taak T173141 voor potentiële problemen.)
  • Voeg de volgende code onderaan het bestand LocalSettings.php toe:
    wfLoadExtension( 'CheckUser' );
    
  • Voer het update script uit, dat automatisch de vereiste database-tabellen creëert die nodig zijn voor de extensie.
  • Als verplicht configureren.
  • Yes Klaar – Navigeer naar Special:Version op de wiki om te controleren dat de extensie geïnstalleerd is.

MediaWiki-Docker gebruiken

Volg de stappen in MediaWiki-Docker/Extension/CheckUser om deze extensie te installeren in een instantie van MediaWiki Docker.

Configuratie

Dit hulpmiddel kopieert recente wijzigingsgegevens in afzonderlijke tabellen en voegt daarbij toe wanneer nieuwe gegevens worden toegevoegd. Als $wgPutIPinRC is ingesteld op false, bevatten de gekopieerde gegevens niet het bijbehorende IP-adres. De gegevens die na de installatie van deze extensie worden toegevoegd bevatten echter het IP-adres.

Na de installatie van deze extensie kunt u $wgRCMaxAge verminderen om recente wijzigingen korter te maken zonder dat dit de checkuser beïnvloedt. Gebruik $wgCUDMaxAge om te bepalen hoe ver de gegevens van checkuser kunnen teruggaan, in seconden.

De CheckUser-specifieke instelling $wgCheckUserCIDRLimit bepaalt het grootste bereik dat in één enkele controle kan worden gecontroleerd. Het formaat is hetzelfde als $wgBlockCIDRLimit . De standaardlimiet is /32 voor IPv6 controles en /16 voor IPv4 controles.

Om dit hulpmiddel te laten loggen op succesvolle en mislukte inlog- of uitlog-pogingen, stel $wgCheckUserLogLogins op true. Als u botaccounts op uw wiki heeft, wordt het loggen van succesvolle inlogpogingen op botaccounts overgeslagen door $wgCheckUserLogSuccessfulBotLogins op false in te stellen.

Verlenen van het recht om CheckUser te gebruiken

Om het recht te verlenen om Special:CheckUser, Special:Investigate en Special:CheckUserLog te gebruiken, moet een gebruiker met gebruikersrechtenbeheer naar Special:UserRights gaan en de naam van de gebruiker in het vak invoeren, en vervolgens de optie "checkuser" selecteren. Als dit is gedaan, worden de bovengenoemde speciale pagina's voor die gebruiker weergegeven in pagina Special:SpecialPages.

Om gebruikers toegang te geven tot de IP-adressen van tijdelijke accounts, moet aan hun het recht checkuser-temporary-account worden verleend.

Om sysops alle rechten te geven die deze extensie biedt, zet het volgende in LocalSettings.php:

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

Om alleen de toevoeging en de verwijdering van het recht checkuser toe te staan, gebruik in plaats daarvan het volgende:

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

Configuratie

Configuratie instellingen in extension.json
parameter standaard opmerking
$wgCUDMaxAge 7776000 Hoe lang kunnen de CU-gegevens worden bewaard (in seconden)? (standaard is 3 maanden)
$wgCheckUserMaxBlocks 200 Massa blokkade limieten
$wgCheckUserForceSummary false Stel dit op true als u checkusers wilt dwingen om een reden te geven voor elke controle die ze doen via Special:CheckUser. (Niet erg nuttig, aangezien er eenvoudig een reden kan worden gegeven als "they need to be checked" of "Barbapapa".)
$wgCheckUserCIDRLimit [ 'IPv4' => 16, 'IPv6' => 19 ] Kleinste CIDR-waarde die kan worden gebruikt bij elke individuele bereikcontrole
$wgCUPublicKey '' Publieke sleutel om privégegevens te versleutelen die later moeten worden gelezen. Genereer een publieke sleutel met iets als:

openssl genrsa -out cu.key 2048; openssl rsa -in cu.key -pubout > cu.pub en plak hier de inhoud van cu.pub

Gebruikt met een bijbehorende private sleutel om bepaalde gegevens te versleutelen die niet aan Checkusers worden getoond, maar worden opgeslagen in de tabel cu_changes of cu_private_event. Nu zijn dit alleen de ontvangers van e-mails. Zonder een geldige publieke sleutel worden de gegevens niet opgeslagen.

$wgCheckUserCAMultiLock false Dit kan worden gebruikt om een link naar 'Special:MultiLock by CentralAuth' toe te voegen aan het massablokkade-formulier van 'Special:CheckUser'. Dit vereist dat de extensie CentralAuth/nl is geïnstalleerd. Om dit in te schakelen, stelt u dit in op een matrix met de databasenaam van een centrale wiki en een matrix met de naam/namen van de globale groep(en) om de link voor toe te voegen. Bijvoorbeeld:
$wgCheckUserCAMultiLock = [
    'centralDB' => 'metawiki',
    'groups' => [ 'steward' ]
];
$wgCheckUserCAtoollink false Sinds 77360f1cf1d2. Dit voegt een link toe naar de centrale wiki 'Special:CentralAuth' naar de "Get users" resultaten van de 'Special:CheckUser'. Dit vereist dat de extensie CentralAuth/nl is geïnstalleerd. Om dit in te schakelen, stelt u dit in met de databasenaam van een centrale wiki. Bijvoorbeeld:
$wgCheckUserCAtoollink = 'metawiki';
$wgCheckUserGBtoollink false Sinds 77360f1cf1d2. Dit voegt een link toe naar de lokale of centrale wiki 'Special:GlobalBlock' aan de "Get users" resultaten van 'Special:CheckUser'. Dit vereist dat de extensie GlobalBlocking is geïnstalleerd. Om dit in te schakelen, als een $wgConf is geconfigureerd, stel dit dan in op een matrix met de databasenaam (of databasenamen) van een centrale wiki en een array met de naam/namen van de lokale (of globale als u CentralAuth/nl heeft geïnstalleerd) groep(en) om de link voor toe te voegen. Bijvoorbeeld:
$wgCheckUserGBtoollink = [
	'centralDB' => 'metawiki',
	'groups' => [ 'steward', 'staff' ]
];
$wgCheckUserEnableSpecialInvestigate (1.35-1.43) false (<=1.39)
true (1.40+)
Sinds 57dcfe46d2e4. Dit schakelt Special:Investigate in, een bijgewerkte versie van Special:CheckUser waarmee binnen één onderzoek kan worden gecontroleerd op meerdere gebruikersaccounts en IP-adressen.
$wgCheckUserLogLogins false Of CheckUser inlog- en uitlogpogingen moet loggen (zowel succesvol als niet).
$wgCheckUserLogSuccessfulBotLogins true Of CheckUser succesvolle inlogpogingen moet opslaan bij accounts met de bot-gebruikersgroep als $wgCheckUserLogLogins is ingesteld op true. Wordt alleen gebruikt als $wgCheckUserLogLogins true is
$wgCheckUserMaximumRowCount 5000 Het maximum aantal resultaten dat kan worden geretourneerd door Special:CheckUser. Vóór MediaWiki 1.39 leverden de resultaten met meer dan 5.000 resultaten in de 'Get edits' en 'Get IPS' de resultaten in een ander formaat. Vanaf MediaWiki 1.39 is dit het maximale aantal resultaten dat per pagina kan worden weergegeven en er kunnen er meer worden gegenereerd met behulp van de paging-links
$wgCheckUserInvestigateMaximumRowCount 25000 Vergelijkbaar met $wgCheckUserMaximumRowCount, maar dan voor onderzoeken
$wgCheckUserTemporaryAccountMaxAge (1.40+) 86400 Het aantal seconden waarvoor de tijdelijke API-reactie van het account nieuw is.
$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 Wordt gebruikt om te bepalen of hints van klanten moeten worden verzameld en weergegeven in de resultaten door 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" ] De lijst met "actie"-waarden in de queryparameters waar cliënt-hints worden gevraagd.
$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": ""} De lijst met cliënt-hinttypen die wordt opgevraagd. Keys vertegenwoordigen de cliënt-hintwaarden die zijn aangevraagd met behulp van de Accept-CH-header. Waarden vertegenwoordigen de gelijkwaardige naam wanneer ze worden aangevraagd bij de JS-client-kant cliënt-hints API.
$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.


Gebruik Special:CheckUser

Basis Interface

  1. Ga naar Special:CheckUser
  2. Typ in het veld gebruiker de gebruikersnaam (zonder het voorvoegsel User:), het IP-adres of het CIDR-bereik.
    • IP: een IPv4-adres of IPv6-adres.
    • CIDR: u kunt een reeks IP-adressen controleren door het CIDR-voorvoegsel toe te voegen. De CIDR-prefixwaarde voor IPv4 kan tussen 16-32 liggen en de waarde voor IPv6 kan tussen 19-128 liggen. Het lagere getal voor beide bereiken kan worden gewijzigd met behulp van de configuratievariabele $wgCheckUserCIDRLimit. Voor notatie, zie Help:Geblokkeerde IP-adressen .
    • XFF: u kunt een client IP-adres van X-Forwarded-For headers controleren door /xff toe te voegen (bijvoorbeeld 127.0.0.1/xff).
  3. Selecteer de informatie die u wilt ophalen.
    • IP-adressen opvragen - retourneert IP-adressen die door een geregistreerde gebruiker worden gebruikt.
    • Handelingen opvragen - retourneert alle bewerkingen en geregistreerde acties die zijn uitgevoerd door gebruikers met behulp van een IP-adres of bereik dat is opgegeven in het doelveld, of, als het doel een gebruiker is, alle bewerkingen en geregistreerde acties van die gebruiker.
    • Gebruikers opvragen - retourneert gebruikersaccounts die hebben bewerkt vanaf een IP-adres of bereik.
  4. In het veld "Reden:" moet u de reden invoeren waarom u toegang heeft tot vertrouwelijke gegevens. Probeer de situatie kort en bondig samen te vatten (bijvoorbeeld "cross-wiki spam"); Dit wordt vastgelegd in een logboek dat alleen zichtbaar is voor gebruikers met het recht checkuser-log.


Geretourneerde informatie

Een typische vermelding in de CheckUser-resultaten voor een gebruikersoverzicht ("gebruikers ophalen") is:


  1. Example user agent

Dit is zo geformatteerd dat er veel informatie in een formaat past dat heel gemakkelijk kan worden vermeld en doorgebladerd, maar moeilijk te lezen is, tenzij u weet wat de verstrekte informatie is. De informatie is als volgt ingedeeld:

  • gebruikersnaam (gebruiker links) (tijdsperiode waarin ze hebben bewerkt vanaf het opgegeven IP-adres of bereik) [aantal bewerkingen van het IP-adres of bereik]
    1. IP-adres waarvandaan wordt bewerkt XFF: Verstrekte XFF-informatie (kan worden vervalst)

Elke IP/XFF-combinatie die wordt gebruikt om te bewerken, wordt weergegeven, in volgorde van gebruik.

De laatste tien user agents (browser, besturingssysteem, systeemtaal en versies) voor elke gebruiker met bewerkingen in het IP-adres of bereik worden daarna weergegeven.

XFF Formaat

XFF (X-Forwarded-For) headers geven de reeks IP-adressen aan die worden gebruikt vanaf de computer van de gebruiker (eerste) tot de laatste proxyserver. In het geval van Wikimedia is de laatste proxyserver een van de Wikimedia-proxy's (vermeld onder $wgCdnServersNoPurge in het configuratiebestand Wikimedia).

In dit voorbeeld:

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

  • de eerste twee adressen (10.4.46.42, 127.0.0.1) zijn privé voor het oorspronkelijke netwerk en kunnen niet rechtstreeks vanaf het openbare internet worden bereikt,
  • het derde adres (aaa.aaa.aaa.aaa) is het "publieke gezicht" van de redacteur, meestal een breedband- of inbel-ISP, een bedrijfsgateway (maar mogelijk een anonimisator of een door malware gecompromitteerde server),
  • het laatste adres (208.80.152.46) is een van de Wikimedia-squids (caching web proxy) (sq36.wikimedia.org).

MediaWiki configuratie-instellingen $wgUsePrivateIPs , $wgCdnServers , $wgCdnServersNoPurge en extensies die de IsTrustedProxy hook (zoals Extension:TrustedXFF ) gebruiken, veranderen de manier waarop een echt IP-adres dat wordt gebruikt om bewerkingen toe te schrijven, wordt geselecteerd.

Persoonlijke hulpmiddelen links

Wanneer u resultaten krijgt vanaf Special:CheckUser, kunt u persoonlijke hulpmiddelenkoppelingen toevoegen via de volgende interfaceberichten:

  • MediaWiki:checkuser-userlinks-ip voor IP-adressen (bijvoorbeeld m:MediaWiki:checkuser-userlinks-ip)
  • MediaWiki:Checkuser-userlinks voor geregistreerde gebruikers (bijvoorbeeld m:MediaWiki:Checkuser-userlinks)
  • MediaWiki:checkuser-toollinks voor IP's in het controletype 'IP-adressen ophalen' (bijvoorbeeld m:MediaWiki:checkuser-toollinks)
  • MediaWiki:Checkuser-cidr-tool-links voor IP-bereiken geproduceerd door de CIDR-calculator die onderaan alle Special:CheckUser-pagina's staat. Interfacebericht toegevoegd in 1.41.


Gebruik Special:Investigate

Basisgebruik

  1. Ga naar Special:Investigate
  2. Typ in het veld Gebruikersnaam en IP-adressen maximaal 10 doelen, dit kunnen gebruikersnamen zijn (zonder het voorvoegsel User:), IP-adressen of CIDR-bereiken.
  3. Voer in het veld Reden de reden in waarom u de toegang tot de vertrouwelijke gegevens gebruikt, zoals beschreven in de bovenstaande instructies van Special:CheckUser; Dit wordt vastgelegd in een logboek dat alleen zichtbaar is voor gebruikers met het recht checkuser-log.

Voor geavanceerd gebruik van functies, zie Speciaal onderzoek.

Hulpmiddelen links aanpassen

Net als bij Special:CheckUser kunnen links naar externe hulpmiddelen worden aangepast.

De links worden gedefinieerd in het bericht checkuser-investigate-compare-toollinks. Dit bericht wordt geparseerd om links te vinden, die worden toegevoegd aan het menu op het tabblad IP's & User agents.


IP-adressen van tijdelijke accounts weergeven

MediaWiki-versie:
1.40

De extensie CheckUser heeft vanaf MediaWiki 1.40 een knop die naast tijdelijke gebruikersverbindingen van het account wordt gezet, met deze knop kan het IP-adres worden onthuld.

Deze functionaliteit is exclusief beschikbaar voor gebruikers met het recht checkuser-temporary-account, waardoor ze de mogelijkheid hebben om de IP-adressen te bekijken die zijn gekoppeld aan tijdelijke accounts. Om toegang te krijgen tot deze informatie, moet de functie Ophalen IP-adressen van tijdelijke accounts inschakelen zijn ingeschakeld op de pagina Special:Preferences van de gebruiker.

Deze knoppen verschijnen overal waar links worden getoond van een tijdelijk account, zoals bij het bekijken van paginageschiedenissen of in Special:Contributions. Deze worden echter niet getoond op Special:CheckUser, Special:Investigate of Special:InvestigateBlock.

API's

CheckUser en CheckUserLog API

CheckUser heeft een API die toegang geeft tot de informatie die wordt weergegeven op Special:CheckUser en Special:CheckUserLog. Deze twee API's werken vrij vergelijkbaar met de speciale pagina's, maar de reden voor een controle met de API checkuser is met de prefix "API:" om aan te geven dat ze zijn gemaakt met de API. Voorbeelden van gebruik van deze API's zijn hieronder te zien.

CheckUser 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
CheckUserLog API
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

MediaWiki-versie:
1.40

Gebruik

De class TemporaryAccountHandler biedt API-endpoints voor het ophalen van de IP-adressen die zijn verbonden met tijdelijke gebruikersaccounts. Om toegang te krijgen tot deze informatie, moet de functie Ophalen IP-adressen van tijdelijke accounts inschakelen zijn ingeschakeld op de pagina Special:Preferences van de gebruiker.

API endpoint

GET /rest.php/checkuser/v0/temporaryaccount/{name} waar {name} de gebruikersnaam is die u wilt opzoeken

Antwoord

Als het verzoek succesvol is, geeft de API met een JSON-object terug met de volgende velden:

Naam Type Beschrijving
ips string[] IP-adressen van het gegeven tijdelijke account

Als het verzoek niet lukt, zal de API reageren met een passende foutcode en foutbericht.

Voorbeeld verzoek

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

Voorbeeld antwoord

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

TemporaryAccountRevisionHandler

De class TemporaryAccountRevisionHandler biedt API-eindpunten voor het bekijken van de IP die wordt geassocieerd met een revisie van tijdelijke accounts. U kunt één of meerdere revisie-ID's in de query vermelden.

API-eindpunt

GET /rest.php/checkuser/v0/temporaryaccount/*Unregistered%203/revisions/{revisionId} waar {revisionId} de revisie ID('s) is die u wilt zoeken gescheiden door het karakter |.

Antwoord

Als het verzoek succesvol is, geeft de API met een JSON-object terug met de volgende velden:

Name Type Description
ips dictionary De revisie ID als key en het bijbehorende IP-adres als value.

Als het verzoek niet lukt, zal de API reageren met een passende foutcode en foutbericht.

Voorbeeld verzoek

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

Voorbeeld antwoord

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

Voorbeeld verzoek met meerdere revisies

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

Voorbeeld antwoord

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