Ergebnis 1 bis 21 von 21

Thema: [file_access] Dateizugriffsbeschränkung über Frontend Login

  1. #1
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard [file_access] Dateizugriffsbeschränkung über Frontend Login

    Contao Extension welche es erlaubt Dateien so vor Zugriffen zu schützen, dass sie tatsächlich nur mit einem Frontend Login verfügbar sind.




    Verwendung

    Nach Installation der Extension kann dieser Zugriffsschutz pro Datei oder Ordner in der Dateiverwaltung im Backend festgelegt werden. Bei aktiviertem Zugriffsschutz sollten natürlich eine oder mehrere Mitgliedergruppen angegeben werden, welche Zugriff auf diese Datei haben sollten, andernfalls kann niemand auf diese Datei zugreifen. Die Datei kann jedoch weiterhin bspw. auch über das Download Inhaltselement verfügbar gemacht werden.



    Damit der Dateischutz auch tatsächlich greift, müssen alle Requests auf die Dateien auf die file.php umgeleitet werden, z.B. durch die Verwendung folgender RewriteRule in der .htaccess:

    Code:
    RewriteRule ^(files/.*)$ file.php?file=$1 [L]
    Die Extension stellt ein Datei namens .htaccess.fileaccess bereit, welche aktiviert (und nach den eigenen Ansprüchen angepasst) werden kann.

    Es empfiehlt sich diese Umleitung nur auf Dateien anzuwenden, welche tatsächlich geschützt sein sollen. Dies könnte man dadurch erreichen indem man einen Unterordner anlegt, zB files/protected, worin sich dann alle geschützen Inhalte befinden. Die RewriteRule ändert man dann entsprechend:

    Code:
    RewriteRule ^(files/protected/.*)$ file.php?file=$1 [L]
    Auf diesem Wege sind alle öffentlichen Dateien direkt zugreifbar und verursachen keine zusätzliche Serverlast.


    Wichtiger Hinweis

    Da dieser Zugriffsschutz über PHP erfolgt, die Datei also auch über PHP an den Benutzer gesendet wird, muss die max_execution_time von PHP ausreichend lang sein. Andernfalls kann es passieren, dass das Script abbricht, wenn die Übertragung zu lange dauert. Man muss sich daher im klaren sein, dass es zu Problemen kommen kann, wenn die Verbindungsgeschwindigkeit des Benutzers zum Server sehr langsam ist, oder die Datei sehr groß, oder beides.

    Außerdem werden momentan die automatisch generierten Bilder von Contao nicht geschützt. Wenn also automatisch generierte Thumbnails von geschützten Bildern zum Einsatz kommen, können diese Bilder weiterhin von allen Benutzern aufgerufen werden. Es ist aber geplant auch diese Bilder in einer zukünftigen Version zu schützen.


    Vielleicht ist dieser Release dem Einen oder Anderen ein Item aus meiner Wunschliste wert
    Geändert von Spooky (01.06.2017 um 09:12 Uhr)

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Ab Version 1.1.0 wird bei unberechtigtem Dateizugriff nun eine 403 Seite von Contao erzeugt. Dadurch hat man die Möglichkeit folgenden Ablauf zu erzeugen:

    1. Ein nicht eingeloggter Benutzer öffnet den Link zu einer geschützten Datei
    2. Ihm wird die 403 Seite präsentiert, wo sich bspw. direkt ein Login Modul befindet
    3. Benutzer loggt sich mit seinen Benutzerdaten ein und landet nach dem Login automatisch wieder bei der Datei



    Achtung: das Login Formular muss sich auf der 403 Seite befinden. Diese Form des Ablaufs funktioniert nicht:

    1. Ein nicht eingeloggter Benutzer öffnet den Link zu einer geschützten Datei
    2. Die 403 Seite wird erzeugt und macht einen Redirect auf eine Seite mit dem Login Modul, welches die Option Zur zuletzt besuchten Seite aktiviert hat
    3. Benutzer loggt sich mit sienen Benutzerdaten ein und ... landet eben irgendwo und nicht bei der Datei
    Geändert von Spooky (01.06.2017 um 09:12 Uhr)

  3. #3
    Contao-Fan Avatar von Sahel
    Registriert seit
    20.06.2009.
    Ort
    Cotonou, Benin
    Beiträge
    309

    Standard

    Hallo,
    ich habe file_access 1.1.1 build 4 in Contao 3.5.15 installiert.
    In der .htaccess steht: RewriteRule ^(files/.*)$ file.php?file=$1 [L]

    Ordner oder Dateien kann man sperren und Mitgliedergruppen auswählen. Soweit so gut, das funktioniert prima. Danke für die Erweiterung!!

    Leider werden aber nun in der Dateiverwaltung die Schlösser bei gesperrten Ordnern/Dateien nicht mehr angezeigt und man weiß dann später nicht mehr, was gesperrt wird und was nicht.

    Grüße,
    Matthias

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Hm sollte möglich sein, poste das mal als Feature Request auf GitHub.

    // edit: hab das mal selbst gemacht: https://github.com/fritzmg/contao-file-access/issues/2
    Geändert von Spooky (12.09.2016 um 06:35 Uhr)

  5. #5
    Contao-Nutzer
    Registriert seit
    14.04.2011.
    Ort
    Bayreuth
    Beiträge
    87
    User beschenken
    Wunschliste

    Standard

    Hallo,

    gibt es hierfür schon eine Lösung für Contao 4?

    Schöne Grüße

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Momentan noch nicht. Eine Contao 4 Adaptierung müsste erst finanziert werden.

  7. #7
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Zitat Zitat von Sahel Beitrag anzeigen
    Leider werden aber nun in der Dateiverwaltung die Schlösser bei gesperrten Ordnern/Dateien nicht mehr angezeigt und man weiß dann später nicht mehr, was gesperrt wird und was nicht.
    Ist in Version 1.1.2 nun drin - allerdings musst du die jeweiligen Ordner neu abspeichern.

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Version 2.0.0 für Contao 4 wurde so eben veröffentlicht. Im Gegensatz zu Contao 3 muss man nun für die Contao 4 Version prinzipiell keine Anpassungen an der default .htaccess oder nginx config machen (je nach Serverumgebung kann es aber trotzdem notwendig sein).
    Geändert von Spooky (28.03.2019 um 10:43 Uhr)

  9. #9
    Contao-Nutzer
    Registriert seit
    14.04.2011.
    Ort
    Bayreuth
    Beiträge
    87
    User beschenken
    Wunschliste

    Standard

    Hallo,

    erstmals vielen Dank dafür!

    Ich habe die Extension installiert. Auch kann ich die Berechtigung im Backend setzen. Diese sind auch vorhanden. Soweit alles gut. Allerdings greift das Ganze nicht, den auch ohne Login komme ich an die Dateien heran.

    1. Wenn ich bei meiner Einstellung einen Rewrite durchführen muss, auf welche Datei? Die file.php gibt es ja nicht.
    2. Muss die Berechtigung auf jeden Ordner gesetzt werden oder greift diese rekursiv?
    3. Greift diese auch, wenn Unterordner nicht synchronisiert werden?


    Vielen Dank schon einmal.

    cu tb

  10. #10
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Bitte immer die Contao Version angeben.

  11. #11
    Contao-Nutzer
    Registriert seit
    14.04.2011.
    Ort
    Bayreuth
    Beiträge
    87
    User beschenken
    Wunschliste

    Standard

    Sorry, 4.7.3

  12. #12
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Vermutlich hast du den Ordner, oder einen Überordner, in dem sich die Dateien befinden, auf "öffentlich" gesetzt.



    Zitat Zitat von Xandrian Beitrag anzeigen
    Muss die Berechtigung auf jeden Ordner gesetzt werden oder greift diese rekursiv?
    Prinzipiell rekursiv - aber ich denke da könnte noch ein Fehler in der Extension vorliegen.

  13. #13
    Contao-Nutzer
    Registriert seit
    14.04.2011.
    Ort
    Bayreuth
    Beiträge
    87
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Vermutlich hast du den Ordner, oder einen Überordner, in dem sich die Dateien befinden, auf "öffentlich" gesetzt.

    Ahh. *Kopf -> Tisch* Das wars. Danke!

  14. #14
    Contao-Nutzer
    Registriert seit
    14.04.2011.
    Ort
    Bayreuth
    Beiträge
    87
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Prinzipiell rekursiv - aber ich denke da könnte noch ein Fehler in der Extension vorliegen.

    Das ist tatsächlich ein Bug. Wenn man einen Unterordner im Dateimanager öffnet und keine Berechtigung setzt und dann wieder raus geht (und ggf. speichert) erhält man auf die Dateien in diesen Ordner keinen Zugriff. Erst wenn man diesen Ordner auch explizit berechtigt funktioniert es. Das ist natürlich unschön.

    Interessant wird das dann erst, wenn die Rekursion greift und ich bestimmte Unterordner aus der Indezierung ausschließen kann. Das sind bei mir hier mehrere 100.000 Bildder...

    cu tb.

  15. #15
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Zitat Zitat von Xandrian Beitrag anzeigen
    Das ist tatsächlich ein Bug. Wenn man einen Unterordner im Dateimanager öffnet und keine Berechtigung setzt und dann wieder raus geht (und ggf. speichert) erhält man auf die Dateien in diesen Ordner keinen Zugriff. Erst wenn man diesen Ordner auch explizit berechtigt funktioniert es. Das ist natürlich unschön.
    Ja genau, das habe ich schon erwartet, dass das passiert . Da muss ich mir noch etwas überlegen - durch die Umkehrung der Logik in Contao 4 macht es das ganze etwas umständlich ...

  16. #16
    Contao-Nutzer
    Registriert seit
    14.04.2011.
    Ort
    Bayreuth
    Beiträge
    87
    User beschenken
    Wunschliste

    Standard

    Ach, man wächst mit der Aufgabe

  17. #17
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Sollte in Version 2.0.3 behoben sein

  18. #18
    Contao-Nutzer
    Registriert seit
    14.04.2011.
    Ort
    Bayreuth
    Beiträge
    87
    User beschenken
    Wunschliste

    Standard

    Hm, ich will ja nicht undankbar sein aber so ganz geht das noch nicht - zumindest nicht so wie ich es erwarten/mir wünschen würde.

    Ist eine Datei in der tl_files vorhanden klappt ist. Ist sie es nicht klappt das nicht. Damit ist es nicht möglich, ein Verzeichnis aus der synchronistation auszuschließen. Ich weiß nicht ob das grundsätzlich machbar ist, es wäre aber toll. :-D Die Berechtigung sollte jetzt ja klappen wenn das rekursiv greift.

  19. #19
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Hm... Dateien, die nicht im DBAFS drin sind, hatte ich ursprünglich nicht vorgesehen. In dem Fall müsste ich dann den Dateipfad prozessieren und für jeden Ordner überprüfen, ob der in der Datenbank vorhanden ist. Mach bitte dafür ein Issue auf GitHub.

  20. #20
    Contao-Nutzer
    Registriert seit
    14.04.2011.
    Ort
    Bayreuth
    Beiträge
    87
    User beschenken
    Wunschliste

    Standard

    Ist erledigt. Trotzdem schon mal danke. Ich lese halt mal meine ganzen Ordner und Dateien ein.

  21. #21
    Contao-Nutzer
    Registriert seit
    14.04.2011.
    Ort
    Bayreuth
    Beiträge
    87
    User beschenken
    Wunschliste

    Standard

    Guten Morgen,

    bis heute früh um fünf hat das einlesen gedauert... Aber es ist durch... Ich habe jetzt ein paar Test mit der modifizieren Extension gemacht und komme zu folgendem Ergebnis (getestet wird jeweils mit einem Ordner und einer Datei unterhalb eines Verzeichnisses, für das ein entsprechender Schutz festgelegt wurde):

    Test 1: Die aufgerufenen Dateien und Ordner sind sauber im DBAFS vorhanden.
    mit Login: Datei wird ausgeliefert
    ohne Login: 401 Fehler

    Test 2: ein bestimmter Ordner wird bewusst aus dem DBAFS gelöscht
    mit Login: Ordner und Datei wird ergänzt und ausgeliefert
    ohne Login: Ordner und Datei wird ergänzt und liefern 401 Fehler

    Test 3: ein bestimmter Ordner wird bewusst aus dem DBAFS gelöscht und eine nicht vorhandene Datei wird aufgerufen
    mit Login: keine Ergänzung im DBAFS und Fehler 404
    ohne Login: keine Ergänzung im DBAFS und Fehler 404

    Als von meiner Seite aus funktioniert das Ganze so wie es soll und ich es erwartet habe.

    cu tb

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •