Antwort
 
Themen-Optionen
Alt 30.11.2007, 14:26 Nach oben    #1
Daniel Golowin
 
Registriert seit: 17.11.2005
Ort: Rheinland-Pfalz, Osthofen
Beiträge: 122
Standard htaccess Dateizugriff mit PHP steuern

Hallo, ihr kennt ja bestimmt das Problem der Beschränkten Laufzeit bei Scripten.

Nun ich hab hier sehr große Dateien (GBites), die nur von Benutzern mit bestimmten Benutzerrechten downloadet werden dürfen. Und auch sonst hatte ich bei PHP mit größeren Downloads Probleme.

Mein aktueller Lösungsansatz sieht nun folgendermaßen aus:

Nach dem Klick auf Download wird ein zufälliges Hash erzeugt und mit in die URL eingefügt. An die fertige URL wird dann per header weiter geleitet.

Beispiel: http://file.domain.tld/{hash}/filename.end?download

Beim ersten Aufruf der URL wird überprüft ob es sich auch wirklich um den Benutzer handelt, der auf Download geklickt hat. Falls erfolgreich wird in der htaccess Datei eine neue Regel eingefügt, die dieselbe URL an die gewünschte Datei per Rewrite Regel umleitet und Zeitlich beschränkt ist (z.B. 2 Stunden lang aktiv). Dann wird die URL per header nochmal aufgerufen.


Nun wenn der Benutzer diese URL währen des Downloads oder direkt danach weiter gibt, so könnte es natürlich auch jemand anders innerhalb der beschränkten Zeitspanne (2 Stunden) downloaden.


So nun zur Frage. Habt ihr evtl. einen besseren Lösungsansatz? Oder was haltet ihr von diesem?
dago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.11.2007, 16:22 Nach oben    #2
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.180
Standard

Eigener Server ? Oder gehostet ?

eventuell liese sich das ganze ja mit sowas hier umgehen, das in deine .htaccess
Code:
<LocationMatch "/hash/pfad/bla">
// hier deine rewrite-rule
deny from all
allow from IP
</LocationMatch>
mehr Infos dazu gibt es da: http://httpd.apache.org/docs/2.2/sections.html


Wie gibst du denn eigentlich die datei aus ? while-schleife mit fread + echo ? readfile ? ?
weil auch das unter umständen das problem sein kann
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.11.2007, 16:49 Nach oben    #3
Daniel Golowin
 
Registriert seit: 17.11.2005
Ort: Rheinland-Pfalz, Osthofen
Beiträge: 122
Standard

Währe das ein eigener Server, währen die Scriptlimits kein Problem. Man könnte dann auch auf andere Programmiersprache umsteigen. Also es ist ein billig Hoster mit sehr viel Speicherplatz.

htaccess ist halt möglich und zum glück funktioniert auch mod_rewrite.

D.h. auch mein Ansatz. Man bekommt kein direkten Zugriff auf die Datei. Sondern es wird eine Rewrite Regel in die htaccess nach der Authentifizierung eingetragen, wodurch die Datei durch den Aufruf der URL mit Zufalls Hash direkt erreichbar ist.


Ich habe jetzt auch nochmal ins Handbuch geschaut und festgestellt, dass ich sogar die Umleitung abhängig vom Cookie und IP-Adresse des Besuchers machen kann.

So kann der zwischen Schritt der Authentifizierung entfallen und ein entsprechender Eintrag direkt nach dem Klick auf Download in die htaccess Datei eingetragen werden.
dago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.12.2007, 16:20 Nach oben    #4
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.213
Standard

ggf. hilft dir dieses Tutorial bei der Umsetzung?
[PHP] dynamischer Verzeichnisschutz mit .htaccess
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist gerade online  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


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

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP 5.2 Kompilierung schlägt fehl Byrel Tools, Server, Betriebssysteme 0 03.11.2006 21:09
[Rezension] PHP 5 Kochbuch Artemis Literatur 2 07.09.2006 19:15
PHP 5.1.5, PHP 4.4.4 und PHP 5.2.0 RC2 veröffentlicht Ben Nachrichten 2 01.09.2006 16:05
PHP 5.1 ist drausen robo47 Nachrichten 5 28.11.2005 20:30
Neue PHP "release candidates": PHP 4.4.2 RC 1 und PHP 5.1 RC 6 Ben Nachrichten 1 21.11.2005 20:48


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:18 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44