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