Variablen für das Hochladen
:⚠ $EnableUpload:Das Skript upload.php wird automatisch von stdconfig.php eingebunden, wenn die Variable $
EnableUpload wahr (true) in config.php gesetzt wurde. Es kann sein, dass immer noch ein Hochladen-Passwort gesetzt werden muss, bevor das Hochladen möglich ist (siehe Administration hochgeladener Dateien).
$UploadBlacklist
- Dieses Array enthält verbotene Zeichenketten für hochzuladene Dateien (Groß/Kleinschreibung egal). Einige Installationen mit Apache-Servern versuchen eine Datei, deren Name ".php", ".pl" oder ".cgi" enthält, auszuführen, selbst wenn diese Erweiterung nicht der letzte Teil des Namen ist. Zum Beispiel wird eine Datei "test.php.txt" womöglich ausgeführt. Um das Hochladen solcher Dateien zu verhindern, fügen Sie zur Datei config.php eine solche Zeile hinzu:
-
$UploadBlacklist = array('.php', '.pl', '.cgi', '.py'); # Skriptdateien hochzuladen verbieten
$UploadPermAdd
- Diese Variable setzt zusätzliche Unix-Rechte, die für neu hochgeladene Dateien angewendet werden, und sollte 0 sein (empfohlen seit 2013). Wenn hochgeladene Dateien nicht heruntergeladen werden können, und auf der Webseite wird z. B. der Fehler 403 Forbidden angezeigt, setzen Sie diesen Wert auf 0444 (interne Setzung, Vorgabe seit 2004).
-
$UploadPermAdd = 0; # empfohlen
$UploadPermSet
- Diese Variable setzt Unix-Rechte, die bedingungslos für neu hochgeladene Dateien gesetzt werden, z. B.
0604
. Gefahr! Verändern Sie diese Variable nicht, es sei denn, Sie wissen was Sie tun! Wenn Sie einen Fehler machen, könnten es unmöglich werden, hochgeladene Dateien mittels FTP/SSH-Zugang zu verändern oder zu löschen (in dem Falle könnte Cookbook:Attachtable angewendet werden) oder herunterzuladen und in der Website anzuzeigen. Beachten Sie, dass Datei-Rechte auf verschiedenen Systemen unterschiedlich sein können - wenn Sie Ihre PmWiki-Installation kopieren oder verschieben, müssten Sie sie eventuell anpassen. $UploadDir
- Das Verzeichnis, in dem hochgeladene Dateien gespeichert werden. Standard ist uploads/ im pmwiki Verzeichnis, kann aber auf jedes Verzeichnis auf dem Server gesetzt werden. Dieses Verzeichnis muss vom Webserver beschreibbar sein, wenn ein Hochladen erfolgt.
:⚠ $UploadUrlFmt: Die Internetadresse des Verzeichnisses, das durch $
UploadDir bestimmt wird. Standard ist, die Adresse aus ⚠ $PubDirUrl und $
UploadDir abzuleiten.
$IMapLinkFmt
['Attach:']- Das Format, in dem der Hochladen-Verweis angezeigt wird, wenn ein Anhang existiert. Es kann durch eine solche Zeile in der config.php-Datei geändert werden:
$IMapLinkFmt['Attach:'] = "<a class='attachlink' href='\$LinkUrl'>\$LinkText</a>";
$LinkUploadCreateFmt
- Das Format des Hochladen-Verweises, wenn kein Anhang vorhanden ist. Es kann durch eine solche Zeile in der config.php-Datei geändert werden:
$LinkUploadCreateFmt = "<a class='createlinktext' href='\$LinkUpload'>\$LinkText</a> <a class='createlink' href='\$LinkUpload'> Δ</a>";
$UploadPrefixFmt
- Setzt den Präfix für hochgeladenen Dateien. Damit können Anhänge anstatt nach Gruppen auf eine andere Weise organisiert werden. Standard ist
'/$Group'
(hochgeladene Dateien werden nach den Gruppen organisiert), kann aber auch für die gesamte Webseite oder für eine seitenweise Organisation gesetzt werden.
⚠ $UploadPrefixFmt = '/$
Group/$Name'; # Anhänge nach Seiten organisiert$UploadPrefixFmt
= ''; # Anhänge der gesamten Website in einem gemeinsamen Verzeichnis
- Es wird empfohlen, die
$UploadPrefixFmt
-Variable in der config.php-Datei so zu definieren, dass das Verzeichnis für die Dateien aller Seiten gilt und nicht gruppen- oder seitenweise organisiert wird. Andernfalls können Sie nicht auf Anhänge anderer Seiten oder Gruppen verweisen.
:⚠ $EnableDirectDownload: Wenn diese Variable auf 1 gesetzt wird (Standard), umgehen die Verweise PmWiki und kommen direkt vom Webserver. Wird $
EnableDirectDownload=0; eingestellt, wird jede Anfrage nach einem Anhang von ?action=download
behandelt. Damit ist es für PmWiki möglich, Anhänge gemäß den Leserechten der Seite zu schützen. Allerdings erhöht das auch die Belastung des Servers. Vergessen Sie nicht, das Hochladen-Verzeichnis mit einer .htaccess-Datei zu schützen (Order Deny,Allow / Deny from all).
:⚠ $EnableUploadGroupAuth:Setzen Sie @@$
EnableUploadGroupAuth = 1;, um Herunterladen mit dem Gruppen-Passwort authentifizieren zu können. Das kann zusammen mit
⚠ $EnableDirectDownload = 0;@@ genutzt werden.<br /> %note%Beachten Sie: $
EnableUploadGroupAuth sollte nicht aktiviert werden, wenn Ihr Wiki die Anhänge seitenweise organisiert.
$EnableUploadVersions
- Wenn diese Variable auf 1 (Standard ist 0) gesetzt wird, wird eine bestehende Datei gleichen Namens zu
datei.erw,zeitpunkt
umbenannt, wenn hochgeladen wird (anstatt sie zu überschreiben).zeitpunkt
ist eine Zeitangabe im Unix-Stil. $EnableUploadOverwrite
- Wird auf 1 gesetzt, wenn früher hochgeladene Dateien (gleichen Namens) überschrieben werden dürfen.
$UploadNameChars
- Der Satz der Zeichen, die in den Namen hochgeladener Dateien vorkommen dürfen. Voreingestellt ist
"-\w. "
, das bedeutet Bindestriche, alphanumerische Zeichen und Unterstriche, Punkte und Leerzeichen dürfen in den Namen benutzt werden, alles andere wird herausgestrichen. Man kann nur Zeichen zulassen, die in der 'code page' (der Zeichensatztabelle) des Wikis vorkommen, siehe Wikipedia:Zeichensatztabelle. $UploadNameChars
= "-\\w. !"; # erlaube Bindestriche, Buchstaben, Ziffern, Unterstriche, Punkte, Leerzeichen und Ausrufezeichen$UploadNameChars
= "-\\w. \\x80-\\xff"; # erlaube Unicode- Beachte: Nicht alle Zeichen können in Dateinamen verwendet werden, wegen verschiedener Einschränkungen durch Protokolle oder Betriebssystemen, Dateisystemen und Serversoftware oder Konflikte mit PmWiki-Auszeichnungen.
+?:@#%!=/
haben besondere Bedeutungen in URL-Adressen,|\^`[]?:@#%/
könnten auf einigen Systemen unmöglich zu speichern sein,<>"|\^`(){}[]#%
könnten mit PmWiki-Auszeichnungen kollidieren,
- es wird also ausdrücklich empfohlen, diese nur dann zu erlauben, wenn Sie wissen, was Sie tun.
⚠ $MakeUploadNamePatterns: ein Array von Ersetzungen mittels regulärer Ausdrücke, mit deren Hilfe die Dateinamen der hochgeladenen Dateien normalisiert werden. Zuerst wird alles außer $
UploadNameChars heraus gestrichen, dann wird die Dateierweiterung in Kleinbuchstaben umgewandelt. Administratoren können diese Ersetzungen mit eigenen Definitionen überschreiben (das ganze Array muss neu definiert werden). Aktuell wird die folgende Sequenz abgearbeitet$MakeUploadNamePatterns = array( "/[^$UploadNameChars]/" => '', # streiche alle nicht erlaubten Zeichen '/\\.[^.]*$/' => 'cb_tolower', # wandle die Dateierweiterung in Kleinbuchstaben um (callback-Funktion) '/^[^[:alnum:]_]+/' => '', # streiche führende Leerzeichen, Bindestriche und Punkte '/[^[:alnum:]_]+$/' => '')); # streiche Leerzeichen, Bindestriche und Punkte am Ende
$UploadDirQuota
- Generelle Größenbegrenzung für hochzuladende Dateien.
$UploadDirQuota = 100*1024; # begrenzt Uploads auf 100KiB $UploadDirQuota = 1000*1024; # begrenzt Uploads auf 1000KiB $UploadDirQuota = 1024*1024; # begrenzt Uploads auf 1MiB $UploadDirQuota = 25*1024*1024; # begrenzt Uploads auf 25MiB $UploadDirQuota = 2*1024*1024*1024; # begrenzt Uploads auf 2GiB
:⚠ $UploadPrefixQuota:Generelle Größenbegrenzung für ein Verzeichnis mit hochzuladende Dateien. Dies Verzeichnis ist gewöhnlich @@uploads/GroupName@@ (eines für jede Wiki-Gruppe) oder @@uploads/Group/PageName@@ (eines für jeder Seite), abhängig von der Variablen $
UploadPrefixFmt.
$UploadMaxSize
- Maximale Größe von hochzuladenden Dateien, voreingestellt sind 50000 Bytes.
:⚠ $UploadExtSize:Maximale Größe je Dateierweiterung, überschreibt den Wert in $
UploadMaxSize.
$UploadExtSize['zip'] = 2*1024*1024; # Erlaube ZIP-Dateien bis zu 2MiB
:⚠ $UploadRedirectFunction:Die Funktion, die aufgerufen werden muss, nachdem eine Datei hochgeladen wurde. Gewöhnlich wird die Funktion mit den Argumenten $
pagename und dem URL der ?action=upload-Seite aufgerufen (mit zusätzlichen Informationen, ob das Hochladen erfolgreich war oder warum es das nicht war und ob die Datei umbenannt wurde). Ein Add-On darf seine eigene Funktion definieren, z. B. würde ein AJAX-Funktion zum Hochladen nur Variablen an den Browser zurückgeben.
Übersetzung von PmWiki.UploadVariables, Originalseite auf PmWikiDe.UploadVariables — Rückverweise
Zuletzt geändert: | PmWikiDe.UploadVariables | am 03.09.2019 |
PmWiki.UploadVariables | am 25.05.2023 |