MediaWiki/Restrizioni di accesso

Wikibooks, manuali e libri di testo liberi.
Indice del libro

Lo scopo primario per il quale MediaWiki esiste è fornire supporto software ai progetti a contenuto aperto della Wikimedia Foundation, come Wikibooks e Wikipedia. Pertanto, MediaWiki non è adatto per gestire restrizioni di accesso alle pagine abbastanza complesse (ad esempio per restringere pagine specifiche ad utenti specifici).

MediaWiki può essere usato essenzialmente in due modi:

  1. per rendere ogni pagina accessibile a qualunque utente, registrato o no;
  2. per restringere l'accesso al wiki solo ad un numero ristretto di utenti (registrati).

Per default, MediaWiki adotta l'opzione 1, anche se è possibile configurarlo per supportare l'opzione 2.

In aggiunta, è possibile impedire che certi gruppi di utenti possano modificare delle pagine specifiche (protezione delle pagine).

Qualunque workaround si adotti per ottenere livelli di protezione più complessi, molto probabilmente avrà delle falle di sicurezza, poiché MediaWiki non è stato progettato per supportarli. Ciò va tenuto a mente se si modifica il codice di MediaWiki o se si installano delle estensioni specializzate.

Lettura delle pagine[modifica]

Per restringere l'accesso in lettura, si imposta in LocalSettings.php la riga:

$wgGroupPermissions['*']['read'] = false;

sostituendo * con il nome del gruppo a cui si vuole impedire di leggere le pagine del wiki. Lasciando l'asterisco, il permesso verrà tolto a tutti gli utenti non registrati.

Fanno eccezione le pagine elencate nella whitelist, che si configura aggiungendo la riga

$wgWhitelistRead = array (  /*Sostituire qui l'elenco delle pagine*/  );

elencando le pagine all'interno delle parentesi tonde; per esempio:

$wgWhitelistRead = array ("Special:Userlogin", "MediaWiki:Common.css", 
"MediaWiki:Common.js", "MediaWiki:Monobook.css", "MediaWiki:Monobook.js", "-"
);

È necessario elencare almeno alla pagina di login, che è Special:Userlogin, altrimenti gli utenti autorizzati non saranno in grado di entrare nel wiki. Inoltre, se qualcuna delle pagine elencate ne richiama altre che contengono CSS o Javascript, allora bisogna elencare anche queste, altrimenti le pagine non saranno visualizzate correttamente.
Potrebbe essere necessario mettere in whitelist ulteriori pagine che sono richieste dalle estensioni installate.

Scrittura delle pagine[modifica]

Per impedire che alcuni utenti possano modificare le pagine, si aggiunge al LocalSettings.php la riga

$wgGroupPermissions['*']['edit'] = false;

sostituendo * con il nome del gruppo a cui si vuole impedire di scrivere nelle pagine del wiki. Lasciando l'asterisco, il permesso verrà tolto a tutti gli utenti non loggati.

Creazione di account[modifica]

Per impedire che persone non autorizzate possano creare degli account, aggiungere al file LocalSettings.php la riga

$wgGroupPermissions['*']['createaccount'] = false;

In questo modo, è necessario contattare un amministratore per creare un nuovo account.

Per impedire la creazione di account anche agli amministratori, aggiungere anche

$wgGroupPermissions['sysop']['createaccount'] = false;

Creare una wiki privata[modifica]

Per far sì che solo un certo numero di utenti (registrati) possa leggere e scrivere le pagine del wiki, è necessario svolgere tutte e tre queste operazioni:

  • impedire ai non registrati di leggere le pagine del wiki
  • impedire ai non registrati di scrivere nelle pagine del wiki (necessario per impedire che si possa leggere il markup wiki dalla finestra di modifica)
  • restringere la creazione degli account

Queste tre operazioni avvengono modificando il file LocalSettings.php.

Proteggere le pagine[modifica]

Per approfondire, vedi mw:Manual:Administrators#Protection.

Estensione FlaggedRevs[modifica]

L'estensione FlaggedRevs può essere configurata in modo da nascondere tutte le modifiche di una pagina finché non sono approvate da un utente autorizzato.

Collegamenti esterni[modifica]