Zum Inhalt springen

TYpo3 - WebDAV Tutorial

Erstellt am 10. November 2006 · 7 Antworten · letzte Antwort am 14. Dezember 2010

Tags: Frage

mee2 ·

Vielen Dank für die prima Anleitung - genau das, was ich gesucht hatte.

Leider gibt es ein kleines Sicherheitsproblem, denn der TYPO3-Backend-User kann in der Dateiliste die .htaccess-Datei im per webdav freigegebenen Verzeichnis, auch wenn es sich um einen symbolischen Link zu einer Datei außerhalb der DocumentRoot handelt, kopieren oder ausschneiden und nach dem Einfügen im Klartext lesen. Dazu habe ich noch keine Lösung gefunden. Idee?

Gruß,
Axel.

ossipetz ·

haudio

freut mich das es jemandem nutzt :-)

das problem lässt sich vermutlich nur lösen wenn der webserver und php nicht mit demselben user laufen. an sich muss (oder sollte) nur der webserver-user (oft: www-data) die datei lesen können. php als modul läuft meist mit demselben user. über fcgi kann man dies ändern, das setup kann ich aber nicht auf die schnelle erklären.

ich würde probieren ob die datei wenn sie nur für den root user lesbar ist noch tut was sie soll (also vom webserver beachtet wird).

alternativ kann in der webserver-konfiguration das eingebaut werden was in der .htaccess datei steht, zB über <Directory > anweisungen.

mir wäre auch so in der typo3 konfiguration kann man dateien ausklammern. es gibt eine option fileDenyPattern im install tool:

[BE][fileDenyPattern] = \.php[3-6]?(\..*)?$|^\.htaccess$

da war auch mal ein security fix darauf bezogen.

öhm. noch fragen? oder noch mehr als vorher, super beitrag. #paralyzed#

mee2 ·

Hi,

Das fileDenyPattern hat im Filelist-Modul keine Auswirkungen. Die Rechte auf dem Server zu setzen leider (natürlich) auch nicht, weil der Apache die Datei lesen können muss und dann kann TYPO3 sie auch anzeigen (weil php auch mit dem Benutzer läuft, aber fcgi baue ich deswegen jetzt nicht ein).

Die Lösung des Problems findet sich hier: http://bugs.typo3.org/view.php?id=5779, sie ist aber immer noch nicht in den Core eingeflossen !-(

ossipetz ·

jo ist schon fast in rente der bug #paralyzed#

sind es viele ordner die per .htaccess geschützt werden müssen?
wenn es sich in grenzen hält kann man probieren das in der apache config mit directory anweisungen zu machen: http://httpd.apache.org/docs/2.2/mod/core.html#directory

dann entfällt die .htaccess datei. man muss halt jeden ordner einzeln eintragen, ausser man bekommt es mit DirectoryMatch oder so hin und verwendet für die webdav ordner ein festes namens-schema.

mee2 ·

Tja, die Redakteure beschweren sich, dass große Uploads per Backend nicht gehen (durch maxUploadSize, Laufzeitbeschränkung etc.), also wollte ich das per WebDAV umgehen, da das Öffnen von Ports für scp, sftp o.ä. nicht in Frage kommt (DMZ, mehrere Firewalls, ...).

Das Projekt besteht aber aus über 90 Subdomains mit ihren spezifischen Dateifreigaben, sodass es eher lästig wäre, die alle in der vhost-conf zu deklarieren. Auf der anderen Seite besser als die .htaccess lesbar bzw. unbrauchbar machen zu können.

ossipetz ·

öh ja bei 90 Domains würd ich mir das auch nicht antun wollen #paralyzed#

.htaccess Dateien werden doch vererbt in die Verzeichnisse? Kann man die Datei nicht weiter oben im Verzeichnibaum hinlegen um sie vor Typo3 zu verstcken?

Sonst fällt mir nur ein Cron Job ein der solche Dateien löscht. Was aber ein ziemlicher Hack wäre.

Mit dem PureFTP-Server kann man auch gegen eine MySQL DB authentifizieren. Wenn FTP eine Alternative ist müsst es so auch gehen.

An sich würde ich richtung fcgi gehen. Das Setup bringt einen nicht um und es löst das Problem einigermassen elegant.

martinbu ·

Auch von mir ein Dankeschön.
Funktioniert wunderbar.

Einzig blöd ist, dass Webdav bei den meisten Desktopapplikationen nicht schön integriert ist. 🙂