Il software MediaWiki, per impostazione predefinita, consente la creazione di account senza particolari formalità. È sufficiente visitare la pagina Speciale:CreaUtenza (in inglese Special:CreateAccount), non è neanche necessario fornire un indirizzo email valido.
Questo in generale causa la registrazione di account fasulli che eventualmente verranno usati per vandalizzare le pagine del sito. Qui vediamo alcune tecniche utili per rimuovere gli account fraudolenti e alcune impostazioni per limitarne la registrazione.
Anzitutto è necessario scoprire quali account sono stati creati. Nella pagina Speciale:Utenti (Elenco degli utenti) è possibile chiedere l'elenco ordinato per data di creazione in senso decrescente. L'opzione Mostra solo utenti con dei contributi consente di verificare rapidamente se qualcuno dei nuovi utenti ha vandalizzato qualche pagina.
Anche la pagina Speciale:Registri è utile a verificare le attività più recenti sul wiki. È possibile rimuovere tutti i filtri e impostare solo la data limite (vengono cercati tutti gli eventi più vecchi). Ogni registrazione utente viene mostrata come:
20:23, 26 gen 2021 L'utenza MariePirrie15686 (discussione | contributi) è stata creata
Normalmente il wiki presenta in alto a destra il link Registrati che rimanda alla pagina Speciale:CreaUtenza. La procedura è libera non presenta alcun tipo di controllo.
È utile installare l'estensione ConfirmAccount; in questo modo il link in alto a destra diventerà Richiesta account e porterà alla pagina Speciale:RichiediUtenza (in inglese Special:RequestAccount). La compilazione della richiesta genera l'invio di una mail all'indirizzo che deve essere specificato nella form. Dopo che l'utente avrà visitato il link di conferma incluso nella mail, il sysop vedrà la sua richiesta nella pagina Speciale:ConfermaUtenza (in inglese Special:ConfirmAccounts) con la scritta confermato accanto all'indirizzo email.
ATTENZIONE Sebbene il link Registrati in alto a destra venga sostituito dal link Richiesta account, in realtà la pagina Speciale:CreaUtenza è ancora funzionante: basta digitare esplicitamente l'URL! È necessario quindi attivare una restrizione per togliere la facoltà di creare utenti a chi non è sysop (vedere avanti). Pare che questo sia un bug ancora non risolto (risalente al 20 settembre 2020), come riportato dalla pagina wiki dell'estensione.
Dopo aver scompattato l'archivio nella directory extensions/ è necessario attivarlo aggiungendo a LocalSettings.php:
// Enable page Special:RequestAccount which requires email verification. wfLoadExtension('ConfirmAccount');
Si può visitare la pagina Speciale:Versione (in inglese Special:Version) per accertarsi che l'estensione sia installata.
La documentazione dell'estensione dice di eseguire anche l'update.php, che deve essere eseguito in generale dopo l'aggiornamento di MediaWiki o l'installazione di estensioni. Da riga di comando:
cd maintenance/ php update.php
Come spiegato sopra, l'installazione dell'estensione ConfirmAccount non impedisce la creazione di un account da parte di un utente non registrato. È necessario aggiungere questa riga al file di configurazione LocalSettings.php:
// Disable page Special:CreateAccount for all users, except sysops. $wgGroupPermissions['*']['createaccount'] = false;
In questo modo la pagina Speciale:CreaUtenza (in inglese Special:CreateAccount) che generalmente produce la form Registrati, diventa inaccessibile ai normali utenti e a chi non ha effettuato il login. Se viene richiesta la pagina si ottiene il messaggio Permessi non sufficienti.
Si può essere ancora più restrittivi aggiungere anche la riga:
// Disable page Special:CreateAccount even for sysops. // Page Special:ConfirmAccounts will be useless. $wgGroupPermissions['sysop']['createaccount'] = false;
in questo modo anche all'amministratore verrà impedito di creare un nuovo account, in Pagine speciali scompare il link Speciale:CreaUtenza che normalmente compare sotto la scritta Registrati.
Eventuali richieste di iscrizione pendenti potranno essere ancora viste di sysop nella pagina Speciale:ConfermaUtenza (in inglese Special:ConfirmAccounts) raggiungibile dal link Richieste conferma account, ma non sarà possibile completare l'operazione che richiede accesso alla pagina inibita Speciale:CreaUtenza
.
Tutte le operazioni viste sopra non disabilitano tuttavia la pagina Speciale:RichiediUtenza (in inglese Special:RequestAccount), quindi sarà sempre possibile chiedere l'attivazione di un nuovo account compilando il form in questione. Tale azione genera l'invio di una mail all'indirizzo specificato, questo meccanismo potrebbe essere abusato per inviare numerose mail non desiderate.
Per disabilitare definitivamente anche la pagina di richiesta account è possibile aggiungere la riga di configurazione:
// Disable page Special:RequestAccount to prevent sending of confirmation email. wgSpecialPages['RequestAccount'] = DisabledSpecialPage::getCallback('RequestAccount');
Questa impostazione sostituisce la pagina Speciale:RichiediUtenza con un messaggio esplicito: Questa pagina è stata disabilitata da un amministratore di sistema.