Sicherheit: Unterschied zwischen den Versionen
(18 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | === | + | __TOC__ |
− | + | <!-- | |
+ | AKTUELLES TODO | ||
+ | --> | ||
+ | <div style="margin:0; margin-top:5px; border:1px solid #68A; padding:0em 1em 1em 1em; background-color: #ECF7FF"> | ||
+ | |||
+ | <!-- bitte immer die letzten 10 TODO's eintragen--> | ||
+ | ===Differenzierte Schreibrechte für '''nicht registrierte User=== | ||
+ | * Als User registrieren: '''NEIN''' | ||
+ | * Artikel-Seiten bearbeiten: '''NEIN''' | ||
+ | * Diskussions-Seiten bearbeiten: '''JA''' | ||
− | == | + | ====Die neue saubere Lösung, die für Mediawiki 1.16.5 funktioniert==== |
− | |||
− | |||
− | + | In '''LocalSettings.php''' folgenden Eintrag vornehmen: | |
− | |||
− | |||
− | |||
− | : | ||
− | |||
− | == | + | ## Userrechte // NEUE VERSION für Mediawiki 1.16.5 |
+ | ## Anonyme User [*] können nur die Diskussion-Seiten beschreiben | ||
+ | |||
+ | $wgNamespaceProtection[NS_MAIN] = | ||
+ | $wgNamespaceProtection[NS_USER] = | ||
+ | $wgNamespaceProtection[NS_PROJECT] = | ||
+ | $wgNamespaceProtection[NS_FILE] = | ||
+ | $wgNamespaceProtection[NS_IMAGE] = | ||
+ | $wgNamespaceProtection[NS_TEMPLATE] = | ||
+ | $wgNamespaceProtection[NS_HELP] = | ||
+ | $wgNamespaceProtection[NS_CATEGORY] = array('editarticles'); | ||
+ | |||
+ | $wgGroupPermissions['*']['createaccount'] = false; | ||
+ | $wgGroupPermissions['user']['editarticles'] = true; | ||
+ | |||
+ | ## Ende Userrechte | ||
− | ''' | + | Diese Lösung hat den großen Vorteil, dass nur die Konfigdatei '''LocalSettings.php''' angepasst werden muss und kein Patch der Datei '''Includes/User.php''' mehr erforderlich ist. Siehe auch [http://www.mwusers.com/forums/content.php?143-Editing-Restrictions-101-%28Part-III%29 detaillierte Infos zu dieser Lösung]. --[[Benutzer:WikiSysop|Jochen_S]] 17:23, 9. Jun. 2011 (UTC) |
− | ab | + | ====Die alte unsaubere Lösung, die ab Mediawiki 1.16.5 nicht mehr funktioniert==== |
− | |||
− | |||
+ | In '''LocalSettings.php''' folgenden Eintrag vornehmen: | ||
− | + | ## Userrechte | |
$wgGroupPermissions['*' ]['createaccount'] = false; | $wgGroupPermissions['*' ]['createaccount'] = false; | ||
+ | $wgGroupPermissions['*' ]['edit'] = false; | ||
+ | $wgGroupPermissions['*' ]['createpage'] = false; | ||
+ | $wgGroupPermissions['*' ]['edittalk'] = true; | ||
− | + | Die letzte Befehlszeile ermöglich die Nutzung der Diskussionsseiten durch '''alle''' User | |
+ | In '''Includes/User.php''' diesen Eintrag vornehmen: | ||
+ | /** | ||
+ | * Check if user is allowed to access a feature / make an action | ||
+ | * @param string $action Action to be checked | ||
+ | * @return boolean True: action is allowed, False: action should not be allowed | ||
+ | */ | ||
+ | function isAllowed($action='') { | ||
+ | if ( $action === '' ) | ||
+ | // In the spirit of DWIM | ||
+ | return true; | ||
+ | |||
+ | $this->loadFromDatabase(); | ||
+ | |||
+ | /* Special Cases */ | ||
+ | global $wgTitle; | ||
+ | //Allow groups which have 'edittalk' right to edit talk pages --by GD | ||
+ | if ($wgTitle->isTalkPage() && strcmp('edit', $action) == 0) { | ||
+ | return in_array('edittalk' , $this->getRights() ); | ||
+ | } | ||
+ | /*end special cases*/ | ||
− | : | + | Diese Lösung im [http://meta.wikimedia.org/wiki/Help:User_rights#The_solution_under_Mediawiki_1.10 MediaWiki-Manual] dokumentiert. Von Zeit zu Zeit prüfen, ob dort zu dieser Lösung von anderen Usern Bugs bzw. Optimierungen dokumentiert werden! |
− | + | </div> | |
+ | <!-- Ende AKTUELLES TODO --> | ||
− | + | ===Technische Sicherheitsvorkehrung gegen "Vandalismus" eingeführt=== | |
+ | Ich habe heute endlich rausbekommen, wie man eine '''Schreibsperre''' für nicht-registrierte User einrichtet und diesen Schutz auch gleich für unsere Website aktiviert. D.h. ab jetzt können hier nur noch registrierte User schreiben und neue Seiten anlegen. Wenn das als Schutz vor "Vandalen" und "Spammern" nicht reichen sollte, kann man auch noch die Registrierung als User sperren, so dass neue User (AutorInnen) sich erst mal per eMail bei einem der Sysops melden müssen, um dann von uns manuell als User eingetragen zu werden. Das hängt die "Latte" für "Böswillige" ziemlich hoch und dürfte als technische Sicherheitsvorkehrung erst einmal ausreichen. (Jochen/Sysop, 9. 7. 2006) | ||
+ | ==Schreibsperre für nicht-registrierte User eingerichtet --WikiSysop 12:07, 9. Jul 2006 (CEST)== | ||
+ | Das ging doch einfacher als gedacht und zwar über den folgenden Eintrag in LocalSettings.php (also NICHT in der Datei mit den Defaulteinstellungen: '''/includes/DefaultSettings.php''') | ||
+ | ## Userrechte | ||
+ | $wgGroupPermissions['*' ]['createaccount'] = false; | ||
+ | $wgGroupPermissions['*' ]['edit'] = false; | ||
+ | $wgGroupPermissions['*' ]['createpage'] = false; | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Weblinks=== | ===Weblinks=== | ||
Zeile 54: | Zeile 94: | ||
Ähnlich (aber noch etwas strenger) wird dies auf den ebenfalls unter Wikimedia laufenden Seiten der [http://www.fotocommunity.de/info/Aktuelles FotoCommunity.de] gehandhabt, die auch ein sehr differenziertes System von [http://www.fotocommunity.de/info/Credit Nutzungsberechtigungen] auf ihren Seiten verwenden. | Ähnlich (aber noch etwas strenger) wird dies auf den ebenfalls unter Wikimedia laufenden Seiten der [http://www.fotocommunity.de/info/Aktuelles FotoCommunity.de] gehandhabt, die auch ein sehr differenziertes System von [http://www.fotocommunity.de/info/Credit Nutzungsberechtigungen] auf ihren Seiten verwenden. | ||
+ | |||
+ | ==Read-Only-Modus (generelle Schreibsperre) == | ||
+ | Wird für die alte Archiv-Version und beim Umzug zur Einrichtung einer Schreibsperre benutzt. | ||
+ | |||
+ | Datei: '''LocalSettings.php''', unten am Dateiende vor $wgArticlePath = '/wiki/$1'; | ||
+ | |||
+ | $wgReadOnly = 'Dies ist die alte Archiv-Version des DadAWeb'; |
Aktuelle Version vom 9. Juni 2011, 18:24 Uhr
Inhaltsverzeichnis
- 1 Differenzierte Schreibrechte für nicht registrierte User
- 2 Technische Sicherheitsvorkehrung gegen "Vandalismus" eingeführt
- 3 Schreibsperre für nicht-registrierte User eingerichtet --WikiSysop 12:07, 9. Jul 2006 (CEST)
- 4 Vermittlung der Notwendigkeit der technischen Sicherheitsvorkehrungen
- 5 Read-Only-Modus (generelle Schreibsperre)
Differenzierte Schreibrechte für nicht registrierte User
- Als User registrieren: NEIN
- Artikel-Seiten bearbeiten: NEIN
- Diskussions-Seiten bearbeiten: JA
Die neue saubere Lösung, die für Mediawiki 1.16.5 funktioniert
In LocalSettings.php folgenden Eintrag vornehmen:
## Userrechte // NEUE VERSION für Mediawiki 1.16.5 ## Anonyme User [*] können nur die Diskussion-Seiten beschreiben $wgNamespaceProtection[NS_MAIN] = $wgNamespaceProtection[NS_USER] = $wgNamespaceProtection[NS_PROJECT] = $wgNamespaceProtection[NS_FILE] = $wgNamespaceProtection[NS_IMAGE] = $wgNamespaceProtection[NS_TEMPLATE] = $wgNamespaceProtection[NS_HELP] = $wgNamespaceProtection[NS_CATEGORY] = array('editarticles'); $wgGroupPermissions['*']['createaccount'] = false; $wgGroupPermissions['user']['editarticles'] = true; ## Ende Userrechte
Diese Lösung hat den großen Vorteil, dass nur die Konfigdatei LocalSettings.php angepasst werden muss und kein Patch der Datei Includes/User.php mehr erforderlich ist. Siehe auch detaillierte Infos zu dieser Lösung. --Jochen_S 17:23, 9. Jun. 2011 (UTC)
Die alte unsaubere Lösung, die ab Mediawiki 1.16.5 nicht mehr funktioniert
In LocalSettings.php folgenden Eintrag vornehmen:
## Userrechte $wgGroupPermissions['*' ]['createaccount'] = false; $wgGroupPermissions['*' ]['edit'] = false; $wgGroupPermissions['*' ]['createpage'] = false; $wgGroupPermissions['*' ]['edittalk'] = true;
Die letzte Befehlszeile ermöglich die Nutzung der Diskussionsseiten durch alle User
In Includes/User.php diesen Eintrag vornehmen:
/** * Check if user is allowed to access a feature / make an action * @param string $action Action to be checked * @return boolean True: action is allowed, False: action should not be allowed */ function isAllowed($action=) { if ( $action === ) // In the spirit of DWIM return true; $this->loadFromDatabase(); /* Special Cases */ global $wgTitle; //Allow groups which have 'edittalk' right to edit talk pages --by GD if ($wgTitle->isTalkPage() && strcmp('edit', $action) == 0) { return in_array('edittalk' , $this->getRights() ); } /*end special cases*/
Diese Lösung im MediaWiki-Manual dokumentiert. Von Zeit zu Zeit prüfen, ob dort zu dieser Lösung von anderen Usern Bugs bzw. Optimierungen dokumentiert werden!
Technische Sicherheitsvorkehrung gegen "Vandalismus" eingeführt
Ich habe heute endlich rausbekommen, wie man eine Schreibsperre für nicht-registrierte User einrichtet und diesen Schutz auch gleich für unsere Website aktiviert. D.h. ab jetzt können hier nur noch registrierte User schreiben und neue Seiten anlegen. Wenn das als Schutz vor "Vandalen" und "Spammern" nicht reichen sollte, kann man auch noch die Registrierung als User sperren, so dass neue User (AutorInnen) sich erst mal per eMail bei einem der Sysops melden müssen, um dann von uns manuell als User eingetragen zu werden. Das hängt die "Latte" für "Böswillige" ziemlich hoch und dürfte als technische Sicherheitsvorkehrung erst einmal ausreichen. (Jochen/Sysop, 9. 7. 2006)
Schreibsperre für nicht-registrierte User eingerichtet --WikiSysop 12:07, 9. Jul 2006 (CEST)
Das ging doch einfacher als gedacht und zwar über den folgenden Eintrag in LocalSettings.php (also NICHT in der Datei mit den Defaulteinstellungen: /includes/DefaultSettings.php)
## Userrechte $wgGroupPermissions['*' ]['createaccount'] = false; $wgGroupPermissions['*' ]['edit'] = false; $wgGroupPermissions['*' ]['createpage'] = false;
Weblinks
- Zugangsrechte unter Mediawiki konfigurieren: http://meta.wikimedia.org/wiki/Hilfe:Konfigurieren#Zugangsrechte
- siehe auch: http://www.linux-magazin.de/Artikel/ausgabe/2004/04/064_mediawiki/mediawiki.html --Jochen S 11:40, 9. Jul 2006 (CEST)
Vermittlung der Notwendigkeit der technischen Sicherheitsvorkehrungen
Siehe Argumentation auf:
Ähnlich (aber noch etwas strenger) wird dies auf den ebenfalls unter Wikimedia laufenden Seiten der FotoCommunity.de gehandhabt, die auch ein sehr differenziertes System von Nutzungsberechtigungen auf ihren Seiten verwenden.
Read-Only-Modus (generelle Schreibsperre)
Wird für die alte Archiv-Version und beim Umzug zur Einrichtung einer Schreibsperre benutzt.
Datei: LocalSettings.php, unten am Dateiende vor $wgArticlePath = '/wiki/$1';
$wgReadOnly = 'Dies ist die alte Archiv-Version des DadAWeb';