Erweiterung:CheckUser
CheckUser Freigabestatus: stabil |
|
---|---|
Einbindung | Spezialseite , Benutzeridentität , API , Hook , Datenbank |
Beschreibung | Die CheckUser-Funktion erlaubt Benutzern mit entsprechenden Rechten, die von bestimmten Benutzern verwendete IP-Addressen sowie die von bestimmten IP-Addressen verwendeten Benutzer zu ermitteln, ohne dass eine manuelle Datenbank-Abfrage notwendig ist. |
Autor(en) | Tim Starling, Aaron Schulz, Dreamy Jazz |
Letzte Version | 2.5 (continuous updates) |
Kompatibilitätspolitik | Snapshots werden zusammen mit MediaWiki veröffentlicht. Der Master ist nicht abwärtskompatibel. |
MediaWiki | 1.39+ |
PHP | 7.4.3+ |
Datenbankänderungen | Ja |
Virtual domain | virtual-checkuser-global |
Tabellen | 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 |
Lizenz | GNU General Public License 2.0 oder neuer |
Herunterladen | |
|
|
|
|
|
|
Quarterly downloads | 175 (Ranked 33rd) |
Public wikis using | 9,118 (Ranked 13th) |
Übersetze die CheckUser-Erweiterung, wenn sie auf translatewiki.net verfügbar ist | |
Probleme | Offene Aufgaben · Einen Fehler melden |
- Diese Seite ist über die Erweiterung. Für die Richtlinien der Wikimedia Foundation über die Anwendung von CheckUser, siehe die m:CheckUser policy.
CheckUser ist eine Erweiterung, mit der ein Benutzer (mit der Berechtigung checkuser
) überprüfen kann, welche IPs von einem bestimmten Benutzernamen verwendet werden und welche Benutzernamen von einer bestimmten IP verwendet werden, ohne dass Abfragen direkt von der Datenbank ausgeführt werden müssen Hand.
Die Erweiterung wird im Echtbetrieb aller Wikimedia Wikis verwendet.
Aktualisierungen werden je nach Bedarf der Wikimedia Foundation-Wikis erstellt oder wenn kritische Schwachstellen entdeckt werden.
Installation
- Die Erweiterung herunterladen und die Datei(en) in ein Verzeichnis namens
CheckUser
im Ordnerextensions/
ablegen.
Entwickler und Code-Beitragende sollten stattdessen die Erweiterung von Git installieren, mit:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CheckUser - Wird von git aus installiert, ist Composer auszuführen, um PHP-Abhängigkeiten zu installieren, indem
composer install --no-dev
im Erweiterungsverzeichnis ausgeführt wird. (Siehe task T173141 für mögliche Komplikationen.) - Folgenden Code am Ende deiner LocalSettings.php -Datei einfügen:
wfLoadExtension( 'CheckUser' );
- Führe das Aktualisierungsskript aus, welches automatisch die notwendigen Datenbanktabellen erstellt, die diese Erweiterung braucht.
- Nach Bedarf konfigurieren.
- Erledigt – Navigiere zu Special:Version in deinem Wiki, um zu überprüfen, ob die Erweiterung erfolgreich installiert wurde.
MediaWiki-Docker verwenden
Folge den Schritten in MediaWiki-Docker/Extension/CheckUser , um diese Erweiterung in einer MediaWiki-Docker-Instanz zu installieren.
Konfiguration
Dieses Tool kopiert die Daten der letzten Änderungen in separate Tabellen und fügt diese hinzu, wenn neue Einträge hinzugefügt werden.
Wenn $wgPutIPinRC
auf false
gesetzt ist, enthalten die kopierten Daten nicht die zugehörige IP-Adresse.
Einträge, die nach der Installation dieser Erweiterung hinzugefügt werden, enthalten jedoch die IP-Adresse.
Nach der Installation dieser Erweiterung kannst du $wgRCMaxAge
reduzieren, um die letzten Änderungen zu verkürzen, ohne dass checkuser davon betroffen ist.
Verwende $wgCUDMaxAge
, um festzulegen, wie weit die Benutzerdaten in Sekunden zurückgehen können.
Die CheckUser-spezifische Einstellung $wgCheckUserCIDRLimit bestimmt den größten Bereich, der in einer einzelnen Prüfung geprüft werden kann.
Sein Format ist das gleiche wie $wgBlockCIDRLimit .
Das Standardlimit ist /32
für $2 Checks und /16
für $4 Checks.
Damit dieses Tool erfolgreiche und fehlgeschlagene Anmeldeversuche sowie Abmeldungen protokollieren kann, legst du $wgCheckUserLogLogins
auf true
fest.
Wenn du über Bot-Accounts in deinem Wiki verfügst, kannst du durch Festlegen von $wgCheckUserLogSuccessfulBotLogins
auf false
die Protokollierung erfolgreicher Anmeldeversuche für Bot-Accounts überspringen.
MediaWiki Version: | ≥ 1.43 |
Wenn die Erweiterung auf einer Multi-Wiki-Installation installiert ist, sollten Sie $wgVirtualDomainsMapping für die virtual-checkuser-global
einstellen, um auf eine zentrale Datenbanktabelle zu verweisen.
Wenn man dies setzt, wird sichergestellt, dass die zentralen Indextabellen tatsächlich auf einer zentralen Datenbank liegen und daher die globalen Autoblocks und GUC von GlobalBlocking funktionieren.
Nach diesem Schritt müssen Sie update.php
ausführen, um die Tabellen im zentralen Wiki zu erstellen.
Rechte zum Benutzen von CheckUser erteilen
Um das Recht zu gewähren, Special:CheckUser, Special:Investigate und Special:CheckUserLog zu verwenden, muss ein Benutzer mit Nutzerrechteverwaltung zu Special:UserRights gehen und den Benutzernamen im Feld eingeben und dann die Option "Checkuser" auswählen. Sobald dies geschehen ist, werden die oben genannten Sonderseiten auf der Seite Special:SpecialPages für diesen Benutzer angezeigt.
Um Nutzern den Zugriff auf die IP-Adressen von temporären Konten zu ermöglichen, sollten sie das Recht checkuser-temporary-account erhalten.
Um Administratoren alle Rechte zu geben, die diese Erweiterung bietet, gibst du Folgendes in LocalSettings.php
ein:
$wgGroupPermissions['sysop']['checkuser'] = true;
$wgGroupPermissions['sysop']['checkuser-log'] = true;
$wgGroupPermissions['sysop']['investigate'] = true;
$wgGroupPermissions['sysop']['checkuser-temporary-account'] = true;
Wenn du nur das Hinzufügen und Entfernen der Berechtigung checkuser
erlauben willst, verwende stattdessen Folgendes:
$wgAddGroups['sysop'][] = 'checkuser';
$wgRemoveGroups['sysop'][] = 'checkuser';
Konfiguration
Parameter | Voreinstellung | Anmerkung |
---|---|---|
$wgCUDMaxAge
|
7776000
|
Wie lange sollen die CU-Daten aufbewahrt werden (in Sekunden)? (Standard = 3 Monate) |
$wgCheckUserMaxBlocks
|
200
|
Massen Sperren Grenzen |
$wgCheckUserForceSummary
|
false
|
Set this to true if you want to force checkusers into giving a reason for each check they do through Special:CheckUser. (Not very useful, given that checkusers could simply give a summary such as "they need to be checked" or "I feel like it" and the software would not know.) |
$wgCheckUserCIDRLimit
|
[ 'IPv4' => 16, 'IPv6' => 19 ]
|
Kleinster CIDR-Wert, der in jeder einzelnen Bereichsprüfung verwendet werden kann |
$wgCUPublicKey
|
''
|
Öffentlicher Schlüssel zum Verschlüsseln privater Daten, die später möglicherweise gelesen werden müssen. Erstelle einen öffentlichen Schlüssel mit etwas wie:
Wird zusammen mit einem privaten Schlüssel verwendet, um bestimmte Daten zu verschlüsseln, die den CUs nicht angezeigt werden, jedoch in der Tabelle cu_changes oder cu_private_event geladen sind. Derzeit sind das nur die Empfänger von E-Mails. Ohne einen gültigen öffentlichen Schlüssel werden die Daten nicht gespeichert. |
$wgCheckUserCAMultiLock
|
false
|
This can be used to add a link to Special:MultiLock by CentralAuth to the Special:CheckUser's mass block form. Dazu muss die Erweiterung CentralAuth auf dem Wiki installiert sein. Um dies zu aktivieren, setze dies auf ein Array mit dem Namen der zentralen Wiki-Datenbank und ein Array mit den Namen der globalen Gruppe(n), für die der Link hinzugefügt werden soll. Zum Beispiel:
$wgCheckUserCAMultiLock = [
'centralDB' => 'metawiki',
'groups' => [ 'steward' ]
];
|
$wgCheckUserCAtoollink
|
false
|
Seit 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. Zum Beispiel:
$wgCheckUserCAtoollink = 'metawiki';
|
$wgCheckUserGBtoollink
|
false
|
Seit 77360f1cf1d2. This adds a link to local or central wiki Special:GlobalBlock to the Special:CheckUser's "Get users" results. Dazu muss die Erweiterung GlobalBlocking auf dem Wiki installiert sein. 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. Zum Beispiel:
$wgCheckUserGBtoollink = [
'centralDB' => 'metawiki',
'groups' => [ 'steward', 'staff' ]
];
|
$wgCheckUserEnableSpecialInvestigate (1.35-1.43)
|
false (<=1.39)true (1.40+)
|
Seit 57dcfe46d2e4. This enables Special:Investigate, an updated version of Special:CheckUser that allows checking for multiple user accounts and IP addresses within one investigation. |
$wgCheckUserLogLogins
|
false
|
Whether CheckUser should log login and logout attempts (both successful and not). |
$wgCheckUserLogSuccessfulBotLogins
|
true
|
Whether CheckUser should store successful login attempts to accounts with the bot user group if $wgCheckUserLogLogins is set to true . Nur genutzt, wenn $wgCheckUserLogLogins true ist
|
$wgCheckUserMaximumRowCount
|
5000
|
Die maximale Anzahl der Ergebnisse, die von Special:CheckUser zurückgegeben werden können. Before MediaWiki 1.39, in the 'Get edits' and 'Get IPs' results having over 5.000 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 |
$wgCheckUserTemporaryAccountMaxAge (1.40+)
|
86400
|
The number of seconds for which the temporary account API response is fresh. |
$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
|
Used to control whether client hints should be collected and displayed in results by 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" ]
|
The list of "action" values in the query parameters where client hints will be requested. |
$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": "" }
|
The list of client hint types that will be requested. Keys represent the client hint values requested using the Accept-CH header. Values represent the equivalent name when requesting them from the JS client side client 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.
|
Special:CheckUser usage
Basic interface
- Gehe zu Special:CheckUser.
- In the user field, type in the username (without the
User:
prefix), IP address, or CIDR range.
- IP: any IPv4 or IPv6 address.
- CIDR: you can check a range of IP addresses by appending the CIDR prefix. The CIDR prefix value for IPv4 can be between 16-32 and the value for IPv6 can be between 19-128. The smaller number for both ranges can be changed using the configuration variable $wgCheckUserCIDRLimit. For notation, see Hilfe:Bereichssperren .
- XFF: you can check a client IP address provided by X-Forwarded-For headers by appending
/xff
(for example,127.0.0.1/xff
).
- XFF: you can check a client IP address provided by X-Forwarded-For headers by appending
- Select the information you want to retrieve.
- Hole IP-Adressen - returns IP addresses used by a registered user.
- Aktionen abrufen - returns all edits and logged actions made by users using an IP address or range specified in the target field, or if the target is a user all edits and logged actions by that user.
- Hole Benutzer - returns user accounts that have edited from an IP or range.
- In the "Grund:" field, type in the reason you are accessing the confidential data.
Try to succinctly summarise the situation (for example, "cross-wiki spam"); this will be logged in a log visible only to users with the checkuser-log
permission.
-
Basic CheckUser interface
-
Example username check
-
Example IP check
-
Example Get edits check
-
Example log
Information returned
A typical entry in the CheckUser results for a user summary ("get users") is as follows:
- Example (talk | contribs | block) (Check) (20:11, 01 November 2024 -- 20:12, 01 November 2024) [5]
- 127.0.0.37 XFF: 127.0.0.1, 127.0.0.5
- Example user agent
This is formatted to fit a lot of information into a format that can very easily be listed and skimmed, but is difficult to read unless you know what the information provided is. The information is laid out as follows:
- username (user links) (time period when they edited from the given IP or range) [number of edits from the IP or range]
- IP address edited from XFF: XFF information provided (can be spoofed)
Each IP/XFF combination used to edit is listed, in order of use.
The last ten user agents (browser, operating system, system language, and versions) for each user for edits made in the IP or range are listed afterwards.
XFF-Format
XFF (X-Forwarded-For) headers indicate the series of IP addresses used from the user's computer (first) to the last proxy server. In case of Wikimedia, the last proxy server is one of the Wikimedia proxies (listed under $wgCdnServersNoPurge in the Wikimedia configuration file).
In diesem Beispiel:
aaa.aaa.aaa.aaa XFF: 10.4.46.42, 127.0.0.1, aaa.aaa.aaa.aaa, 208.80.152.46
- the first two addresses (
10.4.46.42
,127.0.0.1
) are private to the originating network and can't be reached directly from the public Internet,
- the third address (
aaa.aaa.aaa.aaa
) is the "public face" of the editor, usually a broadband or dial-up ISP, a company gateway, (but possibly an anonymizer or a malware-compromised server),
- the last address (
208.80.152.46
) is one of the Wikimedia squids (sq36.wikimedia.org
).
MediaWiki configuration settings $wgUsePrivateIPs , $wgCdnServers , $wgCdnServersNoPurge and extensions using the IsTrustedProxy hook (such as Erweiterung:TrustedXFF ) change the way an actual IP address used to attribute edits is selected.
Personal tool links
When you get results from Special:CheckUser you can add personal user tool links via the following 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)MediaWiki:Checkuser-cidr-tool-links
for IP ranges produced by the CIDR calculator present at the bottom of all Special:CheckUser pages. Interface message added in 1.41.
Special:Investigate usage
Grundlegende Verwendung
- Gehe zu Special:Investigate.
- In das Feld Benutzernamen und IP-Adressen gibst du bis zu 10 Ziele ein, die Benutzernamen (ohne den Präfix
User:
), IP-Adressen oder CIDR-Bereiche sein können. - In das Feld Grund gibst du den Grund für den Zugriff auf die vertraulichen Daten ein, wie in den obigen Anweisungen zu Special:CheckUser beschrieben; dies wird in einem Protokoll festgehalten, das nur für Benutzer mit der Berechtigung checkuser-log sichtbar ist.
-
Input form
-
Registerkarte Kontoinformationen
-
Registerkarte IPs und Benutzeragenten
-
Registerkarte Zeitleiste
Für die erweiterte Nutzung der Funktion, siehe Hilfe:Spezialuntersuchung.
Werkzeugverknüpfungen anpassen
Wie bei Special:CheckUser können auch die Links zu externen Tools angepasst werden.
Die Links sind in der Nachricht checkuser-investigate-compare-toollinks
definiert.
Diese Nachricht wird geparst, um Links zu finden, die dem Menü auf der Registerkarte IP-Adresse und User Agents hinzugefügt werden.
IPs für temporäre Konten anzeigen
MediaWiki Version: | ≥ 1.40 |
Die CheckUser-Erweiterung zeigt seit MediaWiki 1.40 eine Schaltfläche an, die neben den Links zu temporären Benutzerkonten angezeigt wird und die Preisgabe der IP-Adresse ermöglicht.
This functionality is available exclusively to users with the checkuser-temporary-account
privilege, granting them the ability to view the IP addresses that are linked to temporary accounts.
To access this information, the Enable revealing IP addresses for temporary accounts feature must be enabled on the user's Special:Preferences page.
These buttons will appear wherever user links are shown for a temporary account, such as when viewing page histories or in Special:Contributions. However, these will not be shown on Special:CheckUser, Special:Investigate or Special:InvestigateBlock.
API
CheckUser and CheckUserLog API
CheckUser stellt auch eine API bereit.
These two APIs work fairly similarly to the special pages, but the reason for a check using the checkuser
API is prefixed with "API:" to indicate they were made using the API.
Example usages of these APIs are shown below.
- 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 Version: | ≥ 1.40 |
Verwendung
Die Klasse TemporaryAccountHandler bietet API-Endpunkte zum Abrufen der IP-Adressen, die mit temporären Benutzerkonten verbunden sind. To access this information, the Enable revealing IP addresses for temporary accounts feature must be enabled on the user's Special:Preferences page.
API endpoint
GET /rest.php/checkuser/v0/temporaryaccount/{name}
where {name}
is the user name you want to look up
Antwort
Wenn die Anfrage erfolgreich ist, antwortet die API mit einem JSON-Objekt, das die folgenden Felder enthält:
Name | Typ | Beschreibung |
---|---|---|
ips
|
string[]
|
IPs des angegebenen temporären Kontos |
Wenn die Anfrage fehlschlägt, antwortet die API mit einem entsprechenden Fehlercode und einer Meldung.
Beispielanfrage
GET /rest.php/checkuser/v0/temporaryaccount/*Unregistered%202
Beispielantwort
{"ips": [ "114.127.69.62" , "212.47.235.82" , "212.47.235.81" ]}
TemporaryAccountRevisionHandler
The TemporaryAccountRevisionHandler class offers API endpoints for viewing the IP associated with a revision for temporary accounts. Du kannst eine oder mehrere Überarbeitungs-IDs im Abfrage-String angeben.
API-Endpunkt
GET /rest.php/checkuser/v0/temporaryaccount/*Unregistered%203/revisions/{revisionId}
, wobei {revisionId}
für die Überarbeitungs-ID(s) steht, die du nachschlagen möchtest, getrennt durch das Zeichen |
.
Antwort
Wenn die Anfrage erfolgreich ist, antwortet die API mit einem JSON-Objekt, das die folgenden Felder enthält:
Name | Type | Description |
---|---|---|
ips
|
dictionary
|
Die Revisions-ID als Schlüssel und die zugehörige IP-Adresse als Wert. |
Wenn die Anfrage fehlschlägt, antwortet die API mit einem entsprechenden Fehlercode und einer Meldung.
Beispielanfrage
GET /rest.php/checkuser/v0/temporaryaccount/*Unregistered%203/revisions/31
Beispielantwort
{"ips":{"31":"40.175.36.227"}}
Beispielanfrage mit mehreren Überarbeitungen
GET /w/rest.php/checkuser/v0/temporaryaccount/*Unregistered%205/revisions/194|193
Beispielantwort
{"ips":{"194":"40.175.36.227","193":"1.2.3.4"}}
Diese Erweiterung wird in einem oder mehreren Wikis von Wikimedia verwendet. Das bedeutet mit hoher Wahrscheinlichkeit, dass die Erweiterung stabil ist und gut genug funktioniert, um auf solch häufig besuchten Webseiten benutzt zu werden. Suche nach dem Erweiterungs-Namen in den Wikimedia CommonSettings.php und den InitialiseSettings.php-Konfigurations-Dateien, um nachzusehen, wo es installiert ist. Eine vollständige Liste der installierten Erweiterungen in einem bestimmten Wiki wird auf Special:Version im Wiki generiert und angezeigt. |
Diese Erweiterung ist in den folgenden Softwarepaketen enthalten und/oder wird von den folgenden Wiki-Farmen, bzw. Wiki-Hostern verwendet: Dies ist keine maßgebliche Liste. Softwarepakete und/oder Wiki-Farmen, bzw. Wiki-Hoster nutzen diese Erweiterung ggf., obwohl sie nicht in dieser Liste enthalten sind. Prüfe daher stets die Nutzung im verwendeten Softwarepaket und/oder bei der Wiki-Farm, bzw. dem Wiki-Hoster. |