Wir empfehlen:


Sicherheit: Unterschied zwischen den Versionen

Aus DadAWeb
Wechseln zu: Navigation, Suche
(AKTUELLES TODO)
(AKTUELLES TODO)
Zeile 5: Zeile 5:
 
<div style="margin:0; margin-top:5px; border:1px solid #68A; padding:0em 1em 1em 1em; background-color: #ECF7FF">
 
<div style="margin:0; margin-top:5px; border:1px solid #68A; padding:0em 1em 1em 1em; background-color: #ECF7FF">
  
=== AKTUELLES TODO ===
 
 
<!-- bitte immer die letzten 10 TODO's eintragen-->
 
<!-- bitte immer die letzten 10 TODO's eintragen-->
Differenzierte Schreibrechte für '''nicht registrierte User''':
+
===Differenzierte Schreibrechte für '''nicht registrierte User===
 
* Artikel-Seiten erstellen und bearbeiten: '''NEIN'''
 
* Artikel-Seiten erstellen und bearbeiten: '''NEIN'''
 
* Diskussions-Seiten bearbeiten: '''JA'''
 
* Diskussions-Seiten bearbeiten: '''JA'''
Zeile 24: Zeile 23:
  
 
In '''Includes/User.php''' diesen Eintrag vornehmen:
 
In '''Includes/User.php''' diesen Eintrag vornehmen:
/**
+
/**
* Check if user is allowed to access a feature / make an action
+
* Check if user is allowed to access a feature / make an action
* @param string $action Action to be checked
+
* @param string $action Action to be checked
* @return boolean True: action is allowed, False: action should not be allowed
+
* @return boolean True: action is allowed, False: action should not be allowed
*/
+
*/
function isAllowed($action='') {
+
  function isAllowed($action='') {
if ( $action === '' )
+
if ( $action === '' )
// In the spirit of DWIM
+
// In the spirit of DWIM
return true;
+
return true;
     
+
$this->loadFromDatabase();
+
  $this->loadFromDatabase();
+
/* Special Cases */
+
  /* Special Cases */
global $wgTitle;                 
+
  global $wgTitle;                 
//Allow groups which have 'edittalk' right to edit talk pages --by GD
+
  //Allow groups which have 'edittalk' right to edit talk pages --by GD
if ($wgTitle->isTalkPage() && strcmp('edit', $action) == 0) {
+
  if ($wgTitle->isTalkPage() && strcmp('edit', $action) == 0) {
return in_array('edittalk' , $this->getRights() );
+
return in_array('edittalk' , $this->getRights() );
}
+
}
/*end special cases*/
+
/*end special cases*/
 
 
 
</div>
 
</div>
 
<!-- Ende AKTUELLES TODO -->
 
<!-- Ende AKTUELLES TODO -->

Version vom 6. Juli 2007, 10:29 Uhr

Differenzierte Schreibrechte für nicht registrierte User

  • Artikel-Seiten erstellen und bearbeiten: NEIN
  • Diskussions-Seiten bearbeiten: JA

Die Lösung:

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*/

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.