Extension: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 (mises à jour continues) |
| Politique de compatibilité | Versions ponctuelles alignées avec MediaWiki. Le master n'est pas compatible arrière. |
| 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 cusi_case cusi_signal cusi_user |
| Licence | Licence publique générale GNU v2.0 ou supérieur |
| Téléchargement | |
| Aide | Help:Extension:CheckUser/fr |
|
|
|
|
|
|
|
| Traduire l’extension CheckUser sur translatewiki.net si elle y est disponible | |
| Problèmes | Tâches ouvertes · Signaler un bogue |
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. Les détails sur la façon d'utiliser les outils fournis par l'extension se trouvent à Aide:Extension:CheckUser.
Installation
- Téléchargez et placez le(s) fichier(s) dans un répertoire appelé
CheckUserdans 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-devaprès vous être positionné dans le répertoire de l'extension. (Voir 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 la plus grande plage vérifiable en une seule fois.
Son format est le même que celui de $wgBlockCIDRLimit.
La limite par défaut est de /19 pour les vérifications IPV6 et de /16 pour les vérifications IPV4.
Pour permettre à cet outil d'enregistrer les tentatives de connexion réussie et celles qui ont échoué ainsi que les sorties, initialiser $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 |
Si l'extension est installée sur une configuration multi-wiki, alors vous devez initialiser $wgVirtualDomainsMapping pour que virtual-checkuser-global pointe sur une table de la base de données centrale.
En déclarant ceci vous permettez que les tables d'index centrales soient hébergées sur une base de données centrale, et ainsi que les auto-blocages globaux GlobalBlocking et GUC fonctionnent.
Après avoir fait cela vous devez exécuter update.php pour créer les tables sur le wiki central.
| Version de MediaWiki : | ≥ 1.45 |
Après la version 1.45, l'API CheckUser est désactivée par déaut.
Pour la réactiver, initialisez $wgCheckUserDisableCheckUserAPI à false.
Dépannage de la fonctionnalité Special:GlobalContributions
Si Special:GlobalContributions ne renvoie pas les révisions comme prévu (par exemple, vous avez des révisions sur un autre wiki que vous pouvez consulter sur ce wiki), une mauvaise configuration peut être à l'origine d'une défaillance interne qui n'est pas orienté utilisateur (car elle ne peut pas être résolue par l'utilisateur). Vérifiez ceci :
- Votre utilisateur a un compte central et ses comptes sur le wiki concerné sont liés. Ça peut être vérifié dans Special:MergeAccount.
- Le wiki affecté est connu de la ferme de wikis. Ceci est défini dans le tableau des
siteset les wikis peuvent être ajoutés dans ce tableau via le script de maintenanceaddSite. Vous devez vérifier que les paramètres optionnelspagepathetfilepathsont effectivement remplis, par exemple :php ./maintenance/run.php addSite globalId groupName --pagepath https://hostname/wiki/\$1 --filepath https://hostname/w/\$1Special:GlobalContributions les utilise pour générer les requêtes API et les liens. - La base de données centrale est configurée avec
virtual-checkuser-global(par exemple,$wgVirtualDomainsMapping['virtual-checkuser-global'] = [ 'db' => $wiki ];) et la tablecuci_temp_editenregistre les révisions du wiki concerné. - Si nécessaire, les cookies interdomaines doivent être activés, car le jeton
centralauthdoit fonctionner sur les deux wikis.
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-log'] = true;
$wgGroupPermissions['sysop']['checkuser-temporary-account-no-preference'] = true;
Par contre pour permettre uniquement l'ajout ou la suppression des droits checkuser, utilisez ceci :
$wgAddGroups['sysop'][] = 'checkuser';
$wgRemoveGroups['sysop'][] = 'checkuser';
Mise à jour
| Version de MediaWiki : | ≥ 1.45 |
Depuis MediaWiki 1.45, GuidedTour est supprimé de Special:Investigate, donc les préférences checkuser-investigate-tour-seen et checkuser-investigate-form-tour-seen ne sont plus utilisées.
Si Special:Investigate a été utilisé avant de mettre à jour vers la 1.45, ces préférences peuvent être enregistrées inutilement pour certains utilisateurs.
Pour supprimer ces préférences de la table user_properties, exécuter les scripts de maintenance :
$ php maintenance/run.php userOptions.php checkuser-investigate-tour-seen --delete
$ php maintenance/run.php userOptions.php checkuser-investigate-form-tour-seen --delete
Configuration
Une sélection de valeurs de configuration est présentée ci-dessous.
Ces valeurs de configuration peuvent être modifiées par les administrateurs de wikis.
Les valeurs de configuration, qui sont généralement laissées à leur valeur par défaut, ne sont pas spécifiées ici pour garder la liste concise, mais les détails de ces valeurs de configuration sont présents dans le fichier extension.json.
| Nom de la configuration | par défaut | Informations |
|---|---|---|
$wgCUDMaxAge
|
7776000 (90 days)
|
Pendant combien de temps faut-il garder les données de CheckUser (en secondes) ? (par défaut 90 jours) |
$wgCheckUserMaxBlocks
|
200
|
Nombre maximal d'utilisateurs pouvant être bloqués simultanément sur Special:Investigate
|
$wgCheckUserForceSummary
|
false
|
Initialiser cette valeur à true si vous souhaitez forcer les utilisateurs à donner une raison pour chaque vérification qu'ils effectuent 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 le 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 le 77360f1cf1d2. Ceci ajoute un lien du Special:GlobalBlock du wiki local ou central aux résultats « Get users » de Special:CheckUser. Ceci nécessite que l'extension GlobalBlocking 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 le 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; les résultats suivants peuvent être récupérés en utilisant les liens de page. |
$wgCheckUserInvestigateMaximumRowCount
|
25000
|
Similaire à $wgCheckUserMaximumRowCount, mais pour Investigate |
$wgCheckUserCollapseCheckUserHelperByDefault (1.41+)
|
2500
|
Contrôle quand le tableau récapitulatif « CheckUser helper » est sur Special:CheckUser. Spécifiez true pour toujours réduire par défaut, false pour ne jamais réduire par défaut et un nombre pour réduire l'affichage sur la page quand le nombre de résultats dépasse cette valeur.
|
$wgCheckUserMaximumIPsToAutoblock (1.43+)
|
1
|
Le nombre maximal d'adresses IP à autobloquer rétroactivement lorsqu'un blocage est créé et que le blocage automatique est activé. |
$wgCheckUserClientHintsEnabled (1.41+)
|
true
|
Utilisé pour contrôler si les actions du client doivent être collectées et affichées dans les résultats par CheckUser. |
$wgCheckUserClientHintsSpecialPages (1.41+)
|
{ "CreateAccount": "header", "Emailuser": "js", "PasswordReset": "js", "Userlogin": [ "js", "header" ], "Userlogout": "header"}
|
Liste des pages spéciales où CheckUser demandera des indices au client si $wgCheckUserClientHintsEnabled est true.
|
$wgCheckUserClientHintsHeaders (1.41+)
|
{ "Sec-CH-UA": "brands", "Sec-CH-UA-Arch": "architecture", "Sec-CH-UA-Bitness": "bitness", "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 lorsqu'elles sont demandées à partir de l'API des indices client côté client JavaScript.
|
$wgCheckUserClientHintsForDisplay (1.41+)
|
[ "model", "fullVersionList", "platformVersion", "platform", "brands", "formFactor", "architecture", "mobile", "bitness", "woW64" ]
|
Liste des données des actions clients à afficher dans les résultats de CheckUser. L'ordre dans le tableau détermine l'ordre d'affichage des données. |
$wgCheckUserClientHintsValuesToHide (1.41+)
|
{ "architecture": [ "x86" ], "bitness": [ "64" ], "woW64": [ false ]}
|
Indique les valeurs des données des actions client à masquer dans les résultats de CheckUser. Ceci est fait pour masquer les valeurs des données des actions client observées généralement dans les cas où cette information n'est pas utile sauf si la valeur est rare. |
$wgCheckUserTemporaryAccountMaxAge (1.40+)
|
86400
|
Nombre de secondes pendant lequel la réponse de l'API du compte temporaire est vraie. |
$wgCheckUserSpecialPagesWithoutIPRevealButtons (1.40+)
|
[ "Investigate", "InvestigateBlock", "CheckUser", "CheckUserLog", "Activeusers", "Listusers", "BlockList" ]
|
Liste des noms de pages spéciales où les boutons "Montre IP" sont désactivés, car ils ne sont pas utiles. Les noms des pages spéciales sont sensibles à la casse et ne correspondent pas toujours à leur apparence dans l'URL. Par exemple Special:ListUsers est appelé Listusers dans ce tableau.
|
$wgCheckUserClientHintsUnsetHeaderWhenPossible (1.41+)
|
true
|
Si true, le serveur envoie une entête Accept-CH vide lorsque l'utilisateur affiche une page qui n'a pas besoin de données de signalement client.
|
$wgCheckUserGlobalContributionsCentralWikiId (1.44+)
|
null
|
Une chaîne représentant le nom du wiki à désigner comme wiki central pour Special:GlobalContributions. En déclarant ceci vous redirigez toutes les pages Special:GlobalContributions des autres wikis, sur le wiki central. |
$wgCheckUserWriteToCentralIndex (1.43+)
|
true
|
Empêche d'ajouter des entrées dans les tables d'index central de CheckUser sur ce wiki. Utilisez ceci lorsque le wiki ne fait pas partie d'un système de compte unifié d'une ferme de wikis plus grande. |
$wgCheckUserCentralIndexGroupsToExclude (1.43+)
|
[ "bot" ]
|
Les actions des utilisateurs d'un groupe quelconque parmi ceux présents dans cette valeur de configuration, ne seront pas enregistrées dans les tables d'index centrales. Utilisé pour réduire le taux des écritures dans les tables d'index central pour les utilisateurs à forte activité pour lesquels les contrôles CheckUser ne sont pas nécessaires. Les utilisateurs de ce groupe sont encore vérifiables et leur adresse IP ainsi que leur agent utilisateur sont journalisés. |
Les API
Voir la section ci-dessous.
Utiliser l'extension CheckUser
Voir Aide:Extension:CheckUser pour les détails sur l'utilisation de l'extension. Ces informations ne sont pas incluses ici pour que la page reste gérable en taille en se limitant à l'installation et l'administration de l'extension.
L'extension fournit plusieurs pages spéciales et quelques API. Les pages spéciales sont :
- Special:CheckUser – Utilisé pour chercher avec CheckUser les données concernant les comptes et les utilisateurs anonymes. Décrit sur Aide:Extension:CheckUser.
- Special:Investigate – Outil alternatif utilisé pour rechercher les données de CheckUser sur les comptes et les utilisateurs anonymes, avec les informations affichées en utilisant un format de page unique. Décrite sur Aide:Special Investigate.
- Special:CheckUserLog – Permet de lister les vérifications réalisées en utilisant soit Special:CheckUser, Special:Investigate, ou l'API CheckUser. Décrite sur Aide:Extension:CheckUser.
- Special:IPContributions – Utilisé pour rechercher les modifications faites par des comptes temporaires sur une adresse ou un intervalle d'adresses IP donné. Décrite sur Aide:Extension:CheckUser.
- Special:GlobalContributions – Utilisé pour chercher les modifications réalisées par des comptes ou des comptes temporaires via une adresse ou un intervalle d'adresses IP. Décrite sur Aide:Extension:CheckUser.
L'extension permet également de révéler l'adresse IP utilisée par un compte temporaire. Décrite sur Aide:Extension:CheckUser.
| 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 : |
- Stable extensions/fr
- Special page extensions/fr
- User identity extensions/fr
- API extensions/fr
- Hook extensions/fr
- Database extensions/fr
- GPL licensed extensions/fr
- Extensions in Wikimedia version control/fr
- Extensions which add rights/fr
- APIGetAllowedParams extensions/fr
- AbuseFilterCanViewProtectedVariables extensions/fr
- AbuseFilterCustomProtectedVariables extensions/fr
- AbuseFilterLogProtectedVariableValueAccess extensions/fr
- ApiQuery::moduleManager extensions/fr
- AuthManagerLoginAuthenticateAudit extensions/fr
- BeforePageDisplay extensions/fr
- CentralAuthGlobalUserGroupMembershipChanged extensions/fr
- ChangesListInsertLogEntry extensions/fr
- ContributionsToolLinks extensions/fr
- EmailUser extensions/fr
- GetPreferences extensions/fr
- GlobalBlockingGetRetroactiveAutoblockIPs extensions/fr
- GlobalPreferencesSetGlobalPreferences extensions/fr
- IPInfoHandlerRun extensions/fr
- LoadExtensionSchemaUpdates extensions/fr
- LocalUserCreated extensions/fr
- LogEventsListLineEnding extensions/fr
- PageSaveComplete extensions/fr
- PerformRetroactiveAutoblock extensions/fr
- RecentChange save extensions/fr
- RenameUserSQL extensions/fr
- ResourceLoaderRegisterModules extensions/fr
- SaveUserOptions extensions/fr
- SidebarBeforeOutput extensions/fr
- SpecialContributionsBeforeMainOutput extensions/fr
- SpecialLogGetSubpagesForPrefixSearch extensions/fr
- SpecialLogResolveLogType extensions/fr
- SpecialPageBeforeExecute extensions/fr
- SpecialPage initList extensions/fr
- User::mailPasswordInternal extensions/fr
- UserGetDefaultOptions extensions/fr
- UserGroupsChanged extensions/fr
- UserLinkRendererUserLinkPostRender extensions/fr
- UserLogoutComplete extensions/fr
- UserMergeAccountFields extensions/fr
- UserSetEmail extensions/fr
- UserSetEmailAuthenticationTimestamp extensions/fr
- UserToolLinksEdit extensions/fr
- All extensions/fr
- Extensions bundled with MediaWiki 1.44/fr
- Extensions requiring Composer with git/fr
- Extensions used on Wikimedia/fr
- Extensions included in Canasta/fr
- Extensions included in Fandom/fr
- Extensions included in Miraheze/fr
- Extensions included in ShoutWiki/fr
- Extensions included in Telepedia/fr
- Extensions included in wiki.gg/fr
- Log extensions/fr
