MediaWiki/Restrizioni di accesso: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
creo
(Nessuna differenza)

Versione delle 13:20, 6 feb 2012

Indice del libro

MediaWiki è sviluppato primariamente per i progetti a contenuto aperto della Wikimedia Foundation, come Wikipedia e Wikibooks. 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 (si modifica il file LocalSettings.php).

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

Per restringere l'accesso in lettura, si imposta

$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

Per impedire che un gruppo di utenti possa 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 registrati.

Creazione di account

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

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.

Collegamenti esterni