Wir empfehlen:


Sicherheit: Unterschied zwischen den Versionen

Aus DadAWeb
Wechseln zu: Navigation, Suche
 
(18 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
===Technische Sicherheitsvorkehrung gegen "Vandalismus" eingeführt===
+
__TOC__
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)
+
<!--
 +
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'''
  
==Schreibsperre für nicht-registrierte User eingerichtet --WikiSysop 12:07, 9. Jul 2006 (CEST)==
+
====Die neue saubere Lösung, die für Mediawiki 1.16.5 funktioniert====
Das ging doch einfacher als gedacht und zwar über die Datei '''/includes/DefaultSettings.php'''
 
Und dort:
 
  
:// Implicit group for all visitors
+
In '''LocalSettings.php''' folgenden Eintrag vornehmen:
:$wgGroupPermissions['*'    ]['createaccount']  = true; (vielleicht auch noch auf "false" setzen?)
 
:$wgGroupPermissions['*'    ]['read']            = true;
 
:$wgGroupPermissions['*'    ]['edit']            = '''false''';
 
:$wgGroupPermissions['*'    ]['createpage']      = '''false''';
 
:$wgGroupPermissions['*'    ]['createtalk']      = true;
 
  
==Memo zur Einrichtung einer Schreibsperre für nicht-registrierte User==
+
  ## 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
  
'''Zugangsrechte'''
+
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 Version 1.5:
+
====Die alte unsaubere Lösung, die ab Mediawiki 1.16.5 nicht mehr funktioniert====
:Nur noch angemeldeten Benutzern das Bearbeiten erlauben
 
$wgGroupPermissions['*'    ]['edit']            = false;
 
  
 +
In '''LocalSettings.php''' folgenden Eintrag vornehmen:
  
:Neuanmeldungen verbieten
+
## Userrechte
 
  $wgGroupPermissions['*'    ]['createaccount']  = false;
 
  $wgGroupPermissions['*'    ]['createaccount']  = false;
 +
$wgGroupPermissions['*'    ]['edit']            = false;
 +
$wgGroupPermissions['*'    ]['createpage']      = false;
 +
$wgGroupPermissions['*'    ]['edittalk'] = true;
  
SysOps können neue Benutzer weiterhin über die Spezialseite [[Special:Userlogin]] hinzufügen.
+
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*/
  
:Lesen nur nach erfolgreicher Anmeldung
+
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!
$wgGroupPermissions['*'    ]['read']            = false;
+
</div>
 +
<!-- Ende AKTUELLES TODO -->
  
Wird dieser Wert auf ''false'' gesetzt, ist auch das Lesen ohne Anmeldung nicht möglich.
+
===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;
  
'''Weitere Beschreibung zu dieser Option unter [http://meta.wikimedia.org/wiki/Help:User_rights Help:User_rights].'''
 
 
 
bis Version 1.4
 
: Nur noch angemeldeten Benutzern das Bearbeiten erlauben:
 
$wgWhitelistEdit = true;
 
----
 
  
 
===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

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

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';