Extension:CheckUser
CheckUser État de la version : stable |
|
---|---|
Implémentation | Page spéciale , Identité de l'utilisateur , API , Accroche , Base de données |
Description | La fonction CheckUser permet à un utilisateur ayant les droits, de vérifier des quelles adresses IP sont utilisées par un nom d'utilisateur donné, et quels sont les noms d'utilisateurs qui utilisent une adresse IP donnée, sans avoir à lancer manuellement des requêtes dans la base de données. |
Auteur(s) | Tim Starling, Aaron Schulz, Dreamy Jazz |
Dernière version | 2.5 (continuous updates) |
Politique de compatibilité | Versions ponctuelles alignées avec MediaWiki. Le master n'est pas compatible arrière. |
MediaWiki | 1.39+ |
PHP | 7.4.3+ |
Modifie la base de données |
Oui |
Domaine virtuel | virtual-checkuser-global |
Tables | 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 |
Licence | Licence publique générale GNU v2.0 ou supérieur |
Téléchargement | |
|
|
|
|
|
|
Téléchargements trimestriels | 185 (Ranked 33rd) |
Utilisé par les wikis publics | 9,118 (Ranked 13th) |
Traduire l’extension CheckUser sur translatewiki.net si elle y est disponible | |
Problèmes | Tâches ouvertes · Signaler un bogue |
- Cette page est dédiée entièrement à l'extension CheckUser. Pour consulter la politique de vérification des utilisateurs de la Fondation Wikimedia, voir CheckUser policy.
CheckUser est une extension qui permet à un utilisateur (ayant les droits checkuser
) de vérifier quelles adresses IP sont utilisées par un nom d'utilisateur donné, et quels sont les noms d'utilisateurs qui utilisent une adresse IP donnée, sans avoir à lancer manuellement des requêtes dans la base de données.
L'extension est toujours active sur tous les wikis Wikimedia.
Les mises à jour se feront en fonction des besoins des wikis de la Fondation Wikimedia, ou lorsque des vulnérabilités critiques seront découvertes.
Installation
- Téléchargez et placez le(s) fichier(s) dans un répertoire appelé
CheckUser
dans votre dossierextensions/
.
Les développeurs et les contributeurs au code doivent à la place installer l'extension à partir de Git en utilisant:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CheckUser - Seulement lorsque vous installez à partir de Git, exécutez Composer pour installer les dépendances PHP, en entrant
composer install --no-dev
après vous être positionné dans le répertoire de l'extension. (Voir tâche T173141 pour des complications potentielles.) - Ajoutez le code suivant à la fin de votre fichier LocalSettings.php :
wfLoadExtension( 'CheckUser' );
- Exécutez le script de mise à jour qui va créer automatiquement les tables de base de données dont cette extension a besoin.
- Configurer si nécessaire.
- Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.
Utilisation de MediaWiki-Docker
Suivre les étapes de MediaWiki-Docker/Extension/CheckUser pour installer cette extension dans une instance de MediaWiki Docker.
Configuration
Cet outil copie les données des modifications récentes dans des tables séparées, et les actualise au fur et à mesure des nouvelles entrées.
Si $wgPutIPinRC
vaut false
, les données copiées ne contiendront pas l'adresse IP associée.
Toutefois, les entrées ajoutées après l'installation de cette extension contiendront l'adresse IP.
Après avoir installé cette extension, vous pouvez réduire $wgRCMaxAge
pour rendre les modifications récentes moins longues, sans perturber checkuser.
Utilisez $wgCUDMaxAge
pour indiquer en nombre de secondes, jusqu'à quand les données checkuser peuvent remonter au plus loin dans le temps.
Le paramètre $wgCheckUserCIDRLimit spécifique à CheckUser détermine le plus grand intervalle pouvant être vérifié en une seule passe.
Son format est le même que celui de $wgBlockCIDRLimit .
La limite par défaut est de /32
pour les vérifications de $2 et de /16
pour les vérifications de $4.
Pour permettre à cet outil d'enregistrer les tentatives de connexion réussie et celles qui ont échoué ainsi que les sorties, définissez $wgCheckUserLogLogins
à true
.
Si vous avez des comptes associés aux robots de votre wiki, initialiser $wgCheckUserLogSuccessfulBotLogins
à false
évitera d'enregistrer les tentatives de connexion réussies de ces comptes de robot.
Version de 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.
Attribuer les droits pour utiliser CheckUser
Pour attribuer les droits d'utilisation de Special:CheckUser, Special:Investigate et Special:CheckUserLog, les utilisateurs ayant la possibilité de gérer les droits utilisateur doivent aller sur Special:UserRights et saisir le nom de l'utilisateur dans la boîte, puis sélectionner l'option « checkuser » . Une fois ceci réalisé, les pages spéciales mentionnées précédemment apparaîtront sur la page Special:SpecialPages pour cet utilisateur.
Pour permettre aux utilisateurs d'accéder aux adresses IP des comptes temporaires, ils doivent posséder les droits checkuser-temporary-account.
Pour fournir aux administrateurs système (sysops) tous les droits que cette extension fournit, ajoutez ceci dans votre fichier LocalSettings.php
:
$wgGroupPermissions['sysop']['checkuser'] = true;
$wgGroupPermissions['sysop']['checkuser-log'] = true;
$wgGroupPermissions['sysop']['investigate'] = true;
$wgGroupPermissions['sysop']['checkuser-temporary-account'] = true;
Par contre pour permettre uniquement l'ajout ou la suppression des droits checkuser
, utilisez ceci :
$wgAddGroups['sysop'][] = 'checkuser';
$wgRemoveGroups['sysop'][] = 'checkuser';
Configuration
paramètre | par défaut | commentaire |
---|---|---|
$wgCUDMaxAge
|
7776000
|
Pendant combien de temps faut-il garder les données de CheckUser (en secondes) ? (par défaut 3 mois) |
$wgCheckUserMaxBlocks
|
200
|
Limites des blocs de masse |
$wgCheckUserForceSummary
|
false
|
Mettre à true si vous voulez que les utilisateurs checkusers fournissent un motif pour chaque contrôle qu'ils font via Special:CheckUser. (ce qui n'est pas très utile étant donné que checkusers peut renvoyer simplement un résumé commme « ils doivent être vérifiés » ou « Je suis de son avis » et le logiciel n'en saura pas davantage).
|
$wgCheckUserCIDRLimit
|
[ 'IPv4' => 16, 'IPv6' => 19 ]
|
Les limites les plus courtes du CIDR (Classless Inter-Domain Routing) peuvent être vérifiées dans tout contrôle d'intervalle individuel |
$wgCUPublicKey
|
''
|
Clé publique pour encoder les données privées qui pourraient être lues ultérieurement. Vous pouvez générer une clé publique de la manière suivante :
Utilisé avec une clé privée associée pour crypter certaines données qui ne sont pas affichées aux utilisateurs vérifiés mais stockées dans les tables cu_changes ou cu_private_event Actuellement il s'agit des destinataires des courriels. Sans clé publique valide, les données ne seront pas stockées. |
$wgCheckUserCAMultiLock
|
false
|
Ceci peut être utilisé pour ajouter un lien à Special:MultiLock par CentralAuth au formulaire de blocage en masse de Special:CheckUser. Ceci nécessite que l'extension CentralAuth soit installée sur le wiki. Pour permettre cela, initialisez la valeur avec un tableau comportant un nom de base de données du wiki central, et un tableau avec les noms des groupes globaux pour lesquels vous voulez ajouter un lien. Par exemple :
$wgCheckUserCAMultiLock = [
'centralDB' => 'metawiki',
'groups' => [ 'steward' ]
];
|
$wgCheckUserCAtoollink
|
false
|
Depuis 77360f1cf1d2. Ceci ajoute un lien au Special:CentralAuth du wiki central vers les résultats « Get users » de Special:CheckUser. Ceci nécessite que l'extension CentralAuth soit installée sur le wiki. Pour activer ceci, utilisez le nom d'une base de données wiki centrale. Par exemple :
$wgCheckUserCAtoollink = 'metawiki';
|
$wgCheckUserGBtoollink
|
false
|
Depuis 77360f1cf1d2. Ceci ajoute un lien au Special:GlobalBlock du wiki local ou central vers les résultats « Get users » de Special:CheckUser. Ceci nécessite que l'extension BlocageGlobal soit installée sur le wiki. Pour permettre cela, si un $wgConf est configuré, initialisez la valeur avec un tableau comportant un nom de base de données du wiki central, et un tableau avec les noms des groupes locaux (ou globaux si vous avez intallé CentralAuth ) pour lesquels vous voulez ajouter un lien. Par exemple :
$wgCheckUserGBtoollink = [
'centralDB' => 'metawiki',
'groups' => [ 'steward', 'staff' ]
];
|
$wgCheckUserEnableSpecialInvestigate (1.35-1.43)
|
false (<=1.39)true (1.40+)
|
Depuis 57dcfe46d2e4. Cela active Special:Investigate, une version mise à jour de Special:CheckUser qui permet de vérifier plusieurs comptes utilisateurs et des adresses IP par une requête. |
$wgCheckUserLogLogins
|
false
|
Indique si CheckUser doit enregistrer les tentatives de connexion et de déconnexion (à la fois réussies et non). |
$wgCheckUserLogSuccessfulBotLogins
|
true
|
Si $wgCheckUserLogLogins vaut true , indique si CheckUser doit stocker les tentatives de connexion réussie aux comptes pour le groupe utilisateur des robots. Utilisé seulement si $wgCheckUserLogLogins vaut true
|
$wgCheckUserMaximumRowCount
|
5000
|
Nombre maximum de résultats pouvant être renvoyés par Special:CheckUser. Avant MediaWiki 1.39, les résultats des modifications (Get edits) et des adresses IP(Get IPs) qui avaient plus de 5 000 éléments renvoyaient ces résultats dans un format différent. A partir de MediaWiki 1.39 c'est le nombre maximum de résultats à afficher par page et les résultats suivants peuvent être récupérés en utilisant les liens de page |
$wgCheckUserInvestigateMaximumRowCount
|
25000
|
Similaire à $wgCheckUserMaximumRowCount, mais pour Investigate |
$wgCheckUserTemporaryAccountMaxAge (1.40+)
|
86400
|
Nombre de secondes pendant lequel la réponse de l'API du compte temporaire est vraie. |
$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
|
Utilisé pour contrôler si les tentatives du client doivent être recueillies et affichées par CheckUser dans les résultats. |
$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" ]
|
Liste des valeurs de action dans les paramètres de requête où l'activité du client sera demandée. |
$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": "" }
|
Liste des types d'actions client qui seront demandés. Les clés représentent les valeurs des activités client demandées à l'aide de l'en-tête Accept-CH. Les valeurs représentent le nom équivalent quand elles sont demandées à l'API des statistiques client du JavaScript côté client. |
$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.
|
Utilisation de Special:CheckUser
Interface de base
- Allez sur Special:CheckUser.
- Dans le champ user, entrez le nom de l'utilisateur (username) (sans le préfixe
User:
), son adresse IP, ou l'intervalle CIDR.- IP: toute adresse IPv4 ou IPv6.
- CIDR : vous pouvez vérifier un intervalle d'adresses IP en ajoutant le préfixe CIDR. La valeur du préfixe CIDR pour IPv4 peut être comprise entre 16 et 32 et la valeur pour IPv6 peut être comprise entre 19 et 128. Le plus petit nombre des deux intervalles peut être modifié en utilisant la variable de configuration $wgCheckUserCIDRLimit. Pour la notation, voir les Aide:Intervalles d'adresses de blocage .
- XFF: vous pouvez vérifier l'adresse IP d'un client fournie par les entêtes « X-Forwarded-For » en ajoutant
/xff
(par exemple127.0.0.1/xff
).
- Choisissez l'information que vous voulez récupérer.
- Obtenir les adresses IP - renvoie les adresses IP utilisées par un contributeur enregistré.
- Obtenir les actions - fournit toutes les modifications et les actions journalisées faites par les utilisateurs anonymes (utilisant une adresse IP ou un intervalle d'adresses spécifié dans le champ cible), et si la cible est un utilisateur donné, toutes les modifications et les actions journalisées liées à cet utilisateur.
- Obtenir les utilisateurs - renvoie les comptes des utilisateurs ayant fait des modifications, à partir d'une adresse IP ou d'un intervalle d'adresses.
- Dans le champ Motif :, saisissez le motif pour lequel vous accédez aux données confidentielles. Essayez de résumer brièvement la situation (par exemple « pourriel inter wiki » ) ; ceci sera journalisé dans une trace visible seulement des utilisateurs ayant les droits
checkuser-log
sur le journal.
-
Interface CheckUser de base
-
Exemple de contôle du nom d'utilisateur
-
Exemple de contrôle de l'adresse IP
-
Exemple de Get pour les vérifications des modifications
-
Journal de l'exemple
Informations rendues
Une entrée typique parmi les résultats de CheckUser pour un résumé d'utilisateur (get users) se présente ainsi :
- Example (talk | contribs | block) (Check) (20:11, 01 novembre 2024 -- 20:12, 01 novembre 2024) [5]
- 127.0.0.37 XFF: 127.0.0.1, 127.0.0.5
- Example user agent
Elle est présentée pour contenir un maximum d'informations dans un format qui peut être facilement listé et exploité, mais qui reste difficile à lire, à moins de savoir quelles sont les informations présentes. L'information se présente ainsi :
- nom d'utilisateur (liens de l'utilisateur) (période de temps écoulée depuis la modification faite à partir de l'adresse IP ou de l'intervalle d'adresses) [nombre de modifications faites à partir de l'adresse IP ou d'un intervalle d'adresses]
- Adresse IP de laquelle la modification a été faite XFF: Information XFF fournie (peut être usurpé)
Chaque combinaision IP/XFF utilisée pour modifier est listée, par ordre d'utilisation.
Les dix derniers agents utilisateur (navigateur, système d'exploitation, langue du système, et versions) de chaque utilisateur ayant modifié depuis l'adresse IP ou de l'intervalle d'adresses, sont ensuite listés.
Format XFF
Les entêtes XFF (X-Forwarded-For) indiquent les séries d'adresse IP utilisées à partir de l'ordinateur de l'utilisateur (en premier) jusqu'au dernier serveur mandataire rencontré. Dans le cas de Wikimedia, les dernier serveur mandataire (proxy) est l'un des proxy Wikimedia (listés sous $wgCdnServersNoPurge dans le fichier de configuration Wikimedia).
Dans cet exemple :
aaa.aaa.aaa.aaa XFF: 10.4.46.42, 127.0.0.1, aaa.aaa.aaa.aaa, 208.80.152.46
- les deux premières adresses (
10.4.46.42
,127.0.0.1
) sont privées dans le réseau d'origine et ne peuvent pas être accédées directement à partir de l'Internet publique, - la troisième adresse (
aaa.aaa.aaa.aaa
) est l'adresse du contributeur visible du public, habituellement un fournisseur de service internet large bande ou de numérotation, une passerelle d'entreprise, (mais aussi celle d'une anonymisation ou d'un serveur contrefait de malware), - la dernière adresse (
208.80.152.46
) correspond à l'un des logiciels Wikimedia (sq36.wikimedia.org
).
Les paramètres de configuration MediaWiki $wgUsePrivateIPs , $wgCdnServers , $wgCdnServersNoPurge et les extensions qui utilisent l'accroche IsTrustedProxy (telles que Extension:TrustedXFF ) modifient la manière dont une adresse IP actuelle est sélectionnée pour attribuer les modifications.
Liens vers les outils personnels
Lorsque vous obtenez les résultats de Special:CheckUser vous pouvez ajouter des liens personnels vers des outils utilisateur via les messages d'interface suivants :
MediaWiki:checkuser-userlinks-ip
pour les addresses IP (par exemple m:MediaWiki:checkuser-userlinks-ip)MediaWiki:Checkuser-userlinks
pour les utilisateurs enregistrés (par exemple m:MediaWiki:Checkuser-userlinks)MediaWiki:checkuser-toollinks
pour les adresses IP du type de vérification Obtenir les adresses IP (par exemple m:MediaWiki:checkuser-toollinks)MediaWiki:Checkuser-cidr-tool-links
pour les intervalles d'adresses IP produits par la calculatrice CIDR située en bas de toutes les pages Special:CheckUser. Message d'interface ajouté dans 1.41.
Utilisation de Special:Investigate
Utilisation de base
- Aller à Special:Investigate.
- Dans le champ Noms d’utilisateur et adresses IP saisir jusqu'à 10 cibles, qui peuvent être des noms d'utilisateur (sans le préfixe
User:
), des adresses IP ou des intervalles CIDR. - Dans le champ Motif entrez la raison pour laquelle vous accédez aux données confidentielles, comme décrit dans les instructions Special:CheckUser ci-dessus; cela sera enregistré dans un journal visible uniquement aux utilisateurs ayant les droits checkuser-log.
-
Formulaire de saisie
-
Onglet d'informations du compte
-
Onglet IP et agents utilisateurs
-
Onglet chronologie
Pour l'utilisation avancée de la fonctionnalité, voir Special Investigate.
Personnalisation des liens vers les outils
Comme pour Special:CheckUser, les liens vers des outils externes peuvent être personnalisés.
Les liens sont définis dans le message checkuser-investigate-compare-toollinks
.
Ce message est analysé pour trouver les liens ajoutés au menu de l'onglet Adresses IP et agents utilisateur.
Affichage des adresses IP pour les comptes temporaires
Version de MediaWiki : | ≥ 1.40 |
L'extension CheckUser affiche depuis MediaWiki 1.40 un bouton à côté des liens du compte utilisateur temporaire permettant de révéler l'adresse IP.
Cette fonctionnalité est disponible exclusivement pour les utilisateurs ayant les droits checkuser-temporary-account
, leur permettant de visualiser les adresses IP liées à des comptes temporaires.
Pour accéder à ces informations, la fonctionnalité Enable revealing IP addresses for temporary accounts pour révéler l'adresses IP des comptes temporaires doit être activée sur la page Special:Preferences de l'utilisateur.
Ces boutons apparaîtront partout où les liens utilisateur sont affichés pour un compte temporaire, par exemple lors de la visualisation de l'historique des pages, ou dans Special:Contributions. Cependant, ces données ne seront pas affichées sur Special:CheckUser, Special:Investigate ou Special:InvestigateBlock.
API
API CheckUser et CheckUserLog
CheckUser fournit une API qui permet d'accéder aux informations affichées sur Special:CheckUser et Special:CheckUserLog.
Ces deux API fonctionnent assez similairement aux pages spéciales, mais la raison d'une vérification utilisant l'API checkuser
est préfixée avec API:
pour indiquer qu'elles ont été faites avec l'API.
Les exemples d'utilisation de ces APIs sont donnés ci-dessous.
- 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
Version de MediaWiki : | ≥ 1.40 |
Utilisation
La classe TemporaryAccountHandler offre les points d'accès de l'API pour récupérer les adresses IP associées aux comptes utilisateurs temporaires. Pour accéder à ces informations, la fonctionnalité Enable revealing IP addresses for temporary accounts pour révéler l'adresses IP des comptes temporaires doit être activée sur la page Special:Preferences de l'utilisateur.
Point d'accès de l'API
GET /rest.php/checkuser/v0/temporaryaccount/{name}
où {name}
est le nom d'utilisateur que vous voulez rechercher
Réponse
Si la demande est réussie, l'API répondra avec un objet JSON contenant les champs suivants :
Nom | Type | Description |
---|---|---|
ips
|
string[]
|
Adresse IP du compte temporaire donné |
Si la demande échoue, l'API répondra avec un code d'erreur et un message appropriés.
Exemple de requête
GET /rest.php/checkuser/v0/temporaryaccount/*Unregistered%202
Exemple de réponse
{"ips": [ "114.127.69.62" , "212.47.235.82" , "212.47.235.81" ]}
TemporaryAccountRevisionHandler
La classe TemporaryAccountRevisionHandler offre des points d'accès à l'API pour afficher l'adresse IP associée à une révision pour les comptes temporaires. Vous pouvez spécifier un ou plusieurs identifiants de révision dans la chaîne de requête.
Point d'accès de l'API
GET /rest.php/checkuser/v0/temporaryaccount/*Unregistered%203/revisions/{revisionId}
où {revisionId}
est l'ID de révision que vous voulez rechercher séparé par le caractère |
.
Réponse
Si la demande est réussie, l'API répondra avec un objet JSON contenant les champs suivants :
Name | Type | Description |
---|---|---|
ips
|
dictionary
|
Identifiant de révision en tant que clé et adresse IP associée en tant que valeur. |
Si la demande échoue, l'API répondra avec un code d'erreur et un message appropriés.
Exemple de requête
GET /rest.php/checkuser/v0/temporaryaccount/*Unregistered%203/revisions/31
Exemple de réponse
{"ips":{"31":"40.175.36.227"}}
Exemple de requête avec plusieurs révisions
GET /w/rest.php/checkuser/v0/temporaryaccount/*Unregistered%205/revisions/194|193
Exemple de réponse
{"ips":{"194":"40.175.36.227","193":"1.2.3.4"}}
Cette extension est utilisée par au moins un des projets Wikimédia. Cela signifie probablement que l’extension est assez stable et fonctionnelle pour être utilisée sur des sites à fort trafic. Recherchez le nom de cette extension dans le CommonSettings.php de Wikimédia et dans le fichier de configuration InitialiseSettings.php pour situer les endroits où elle est installée. Une liste complète des extensions installées sur un Wiki donné peut être visualisée sur la page Special:Version de ce wiki. |
Cette extension est incluse dans les fermes de wikis ou les hôtes suivants et / ou les paquets : Cette liste ne fait pas autorité. Certaines fermes de wikis ou hôtes et / ou paquets peuvent contenir cette extension même s'ils ne sont pas listés ici. Vérifiez toujours cela avec votre ferme de wikis ou votre hôte ou votre paquet avant de confirmer. |