Einzelne Aspekte zur Sicherheit von PmWiki sind auf den folgenden Seiten zu finden:
Dokumentationsseiten:
Kochbuch-Seiten (nur auf Englisch verfügbar):
<< | DocumentationIndex | >>
Wie melde ich mögliche Verwundbarkeiten der Sicherheit in PmWiki?
Pm schrieb darüber in einer Veröffentlichung an pmwiki-Benutzer vom September 2006. In aller Kürze unterscheiden er zwischen zwei Fällen:
Siehe seine oben erwähnte Nachricht wegen Details und Begründungen.
Was ist mit den Botnet-Sicherheits-Ratschlägen in http://isc.sans.org/diary.php?storyid=1672?
Sites, bei denen PHPs register_globals-Einstellungen auf "On" gesetzt sind und Versionen vom PmWiki vor 2.1.21 könnten verwundbar durch ein Botnet sein durch Ausnutzen eines Fehlers in PHP. Die Verwundbarkeit kann geschlossen werden, indem man register_globals auf "off" stellt, auf PmWiki 2.1.21 oder später upgradet oder die PHP-Versionen 4.4.3 oder 5.1.4 upgradet.
Zusatz: Es gibt einen Test in PmWiki:SiteAnalyzer, der benutzt werden kann, um zu bestimmen, ob Ihre Site verwundbar ist.
config.php
aktiviert.
Wie beende ich das Löschen von Seiten, d. h. Passwortschutz gegen Löschen von Seiten?
Benutzen Sie Cookbook:DeleteAction und schützen Sie die Löschen-Aktion mit einem Passwort, indem Sie $DefaultPasswords['delete'] = '*';
in die config.php
einfügen
oder schützen Sie die Aktion durch
mit einem Passwort$HandleAuth
['delete'] = 'edit';
oder durch
, um ein Bearbeiten- oder Administrator-Passwort für das Löschen erforderlich zu machen.
$HandleAuth
['delete'] = 'admin';
Wie verhindere ich, dass Seiteninhalte durch eine leere (alles Leerzeichen) Seite ersetzt wird?
Fügen Sie block: /^\s*$/
zu Ihrer Blocklist hinzu.
wie kann ich verhindern, dass Seiten durch alberne Kommentare wie exellente Site, großartige Informationen, ersetzt werden, wo Inhalt nicht blockiert werden kann?
Versuchen Sie eine neuere Automatische Blockadeliste, die Informationen über IP-Adressen von bekannten Wiki-Verunstalter.
(ODER) Versuchen Sie Cookbook:Captchas or Cookbook:Captcha anzuwenden (Beachten Sie, die sind verschieden).
(ODER) Setzen Sie ein Bearbeiten-Passwort, machen es aber in der Site.AuthForm-Vorlage öffentlich.
Wie kann ich alle gemeinsamen Seiten in allen Gruppen wie RecentChanges, Search, GroupHeader, GroupFooter usw. mit einem Passwort schützen?
Fügen Sie die folgenden Zeilen in Ihre local/config.php-Datei ein. Ein Bearbeiten dieser Seiten wird dann ein Administrator-Passwort erfordern.
## Require admin password to edit RecentChanges (etc.) pages. if ($action=='edit' && preg_match('/\\.(Search|Group(Header|Footer)|(All)?RecentChanges)$/', $pagename)) { $DefaultPasswords['edit'] = crypt('secret phrase'); }
Anmerkung: Alle GroupAttributes-Seiten sind durch das 'attr'-Passwort geschützt.
Alternative: Sie können eine 'admin'-Authentifizierung für diese Seiten erforderlich machen:
## Require admin password to edit RecentChanges (etc.) pages. if ($action=='edit' && preg_match('(Search|Group(Header|Footer)|(All)?RecentChanges)', $pagename)) { $HandleAuth['edit'] = 'admin'; }
$DefaultPasswords
['admin'] = crypt('secret phrase');
in local/config.php.
Wie schütze ich das Anlegen neuer Gruppen mit einem Passwort?
Siehe Cookbook:Limit Wiki Groups →
Wie schütze ich das Anlegen neuer Seiten mit einem Passwort?
Siehe Cookbook:Limit new pages in Wiki Groups →
Wie kann ich eine Art Whitelist machen, wo Benutzer von bekannten oder vertrauenswürdigen IP-Adressen Bearbeiten können, alle Anderen aber ein Passwort brauchen?
Fügen Sie diese Zeilen in local/config.php ein:
## Allow passwordless editing from own turf, pass for others. if ($action=='edit' && !preg_match("^90.68.", $_SERVER['REMOTE_ADDR']) ) { $DefaultPasswords['edit'] = crypt('foobar'); }
Ersetzen Sie "90.68." durch den bevorzugten Netzwerk-Präfix und "foobar" durch das Standardpasswort für Andere.
Wie setze oder lösche ich ein Passwort für eine Gruppe oder Seite in config.php
?
siehe Passwörter und PasswordsAdmin.
Wie schütze ich Seitenaktionen durch ein Passwort?
Siehe Passwörter wegen Einstellungen in config.php.
$HandleAuth
['pageactionname'] = 'pageactionname'; # zusammen mit :
$DefaultPasswords
['pageactionname'] = crypt('secret phrase');
oder
$HandleAuth
['pageactionname'] = 'anotherpageactionname';
Wie erlaube ich Verfassern nur dann zu veröffentlichen, wenn Sie auch ein Profil haben?
Fügen Sie dies in Ihre local/config.php unterhalb der include_once("
-Zeile:
$FarmD
/scripts/author.php");
if(!PageExists('Profiles.'.$Author)&&$action=='edit')
$HandleAuth
['edit'] = 'admin';
Dies ist eine mögliche Lösung, aber seien Sie gewarnt, Autoren können auch keine Wikiseite in der Profile-Gruppe neu anlegen.
Ergänzen Sie if($group != 'Profiles')
oben ;-)
Wie macht man eine Regel, die nur den Autoren selbst erlaubt, ihre eigene Wikiseite in der Profile-Gruppe zu bearbeiten?
Fügen Sie dies zu Ihrer local/config.php-Datei hinzu:
$name = PageVar($pagename, '$Name');
if($group=='Profiles') $DefaultPasswords
['edit'] = 'id:'.$name;
Wie moderiere ich alle Veröffentlichungen?
Aktivieren Sie PmWiki.Drafts
$EnableDrafts
, damit wird der "Save"-Button in zwei einzelne Buttons aufgeteilt: "Publish" und "Save draft".
$EnablePublishAttr
. Das fügt eine "Publish"-Authorisierungsebene ein, um das Bearbeiten der Entwürfe vom Publish des neuen Textes unterscheiden zu können.
Wie mache ich ein Read-Only-Wiki?
Setzen Sie ein 'edit'-Passwort in config.php.
Wie schränke ich den Zugriff auf hochgeladene Anhänge ein?
Siehe