PmWikiDe / Variablen für das Hochladen
Administratoren (Fortgeschritten)
Siehe auch: Hochladen von Dateien, Verwaltung der Anhänge.
$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). $UploadExts
- Ein Array, das als Schlüssel die Dateiendungen, die in das Wiki hochgeladen werden können, und als Werte den Standard-MIME-Inhaltstyp für diese Endung enthält. Siehe Adding new file types to permitted uploads.
$EnableUploadMimeMatch
- Per Vorgabe prüft PmWiki nur Dateiendungen und Benutzer können Dateien mit einer falschen Dateiendung hochladen, z. B. eine PDF-Datei mit einer .doc-Endung oder eine Datei mit einer verbotenen Endung, die in eine erlaubte Endung umbenannt wurde. Setzen Sie diese Variable auf 'true', wird auch der MIME-Inhaltstyp der hochgeladenen Datei geprüft, und wenn der nicht zu dem in
$UploadExts
definierten passt, wird das Hochladen verweigert. -
$EnableUploadMimeMatch = true;
- Beachten Sie, dass dies gelegentlich gültige Dateien blockieren kann, so könnte eine CSV-Datei als "text/plain" oder "application/csv" erkannt werden, oder eine passwortgeschützte Office-Datei könnte als "application/encrypted" erscheinen. Um solche Dateien zu erlauben, konfigurieren Sie den Inhaltstyp zu der Dateiendung als regulären Ausdruck:
-
$EnableUploadMimeMatch = array( 'csv'=>'!^(text/plain|application/csv)$!', 'docx'=>'!^(application/encrypted)$!', );
$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 derconfig.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 auf Downloads PmWiki und die Downloads 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äß der Leserechte 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). $EnableDownloadRanges
- Wenn das Wiki geschützte Downloads kennt (siehe
$EnableDirectDownload
), sendet es einen HTTP-Header "Accept-Ranges" und kann Inhaltsteile ausliefern, wenn das der Browser abfordert. Das kann für große Dateien wie Videos nützlich sein und ist standardmäßig aktiviert. Setzen Sie diese Variable auf 0, um dieses Feature zu deaktivierten, sodass nur vollständige Dateien ausgeliefert werden. $EnableUploadGroupAuth
- Setzen Sie
, um Herunterladen mit dem Gruppen-Passwort authentifizieren zu können. Das kann zusammen mit$EnableUploadGroupAuth
= 1;
genutzt werden.$EnableDirectDownload
= 0;
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. !"; # Voreinstellung: erlaube Bindestriche, Buchstaben, Ziffern, Unterstriche, Punkte, Leerzeichen und Ausrufezeichen$UploadNameChars
= "-\\w. \\x80-\\xff"; # erlaube Unicode- Beachten Sie: Nicht alle Zeichen können in Dateinamen verwendet werden, wegen verschiedener Einschränkungen durch Protokolle oder Betriebssystemen, Dateisystemen und Serversoftware oder Konflikten 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) oderuploads/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 — Backlinks
Zuletzt geändert: | PmWikiDe.UploadVariables | am 27.05.2023 |
PmWiki.UploadVariables | am 25.05.2023 |