httpd-users-de mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcus Reimann" <Marcus.Reim...@reimann-systemberatung.de>
Subject RE: Dateien vor direktem Zugriff schützen
Date Wed, 19 Jul 2006 00:59:54 GMT
Hallo Andreas,

folgende Lösung könnte Dir bei Deinem Problem weiterhelfen:

1. Lege die herunterzuladenden Dateien in einem nicht
   für die Öffentlichkeit erreichbaren Verzeichnis ab.

2. Lege ein neues Verzeichnis "download" an, welches von
   extern über den Apache erreichbar ist. Das Verzeichnis
   bleibt zunächst leer.

3. Der User ruft zum Download ein PHP-/Perl-/Java-Programm auf,
   welches überprüft, ob der Download für den aufrufenden
   User und die gewünschte Datei freigeschaltet werden kann
   (z.B. "Hat User bezahlt?", Sessionvariablen auslesen, etc.).
   Wenn der Download freigegeben werden kann, dann legt das
   PHP-/Perl-/Java-Programm für jede freigeschaltete Datei
   einen symbolischen Link in dem Verzeichnis "download" an.
   Die Namen der symbolischen Links kannst Du nach eigener
   Logik verschlüsseln und dafür sorgen, dass sie eindeutig
   sind. Dem User zeigst Du die Namen der generierten Links
   an und speicherst sie ggf. noch in Deiner Datenbank, falls
   Du dem User anbieten möchtest, dass er mehrere Stunden/Tage
   auf den Download zurückgreifen kann und er in seinem
   Kundenkonto/Profil für diese Zeit immer wieder auf die
   Downloadlinks zurückgreifen können soll.

4. Ein regelmäßiger Cron-Job löscht jede Minute symbolische
   Links im "download"-Verzeichnis, die mindestens n Stunden/
   Tage alt sind.

Das PHP-/Perl-/Java-Programm hat also nur die Aufgabe einen
dynamischen Link anzulegen und liefert die Dateien nicht aus.
Der PHP-Befehl zum Anlegen von symbolischen Links lautet
"symlink" (vgl. http://de.php.net/manual/de/function.symlink.php).

Du mußt in Deiner Apache-Konfiguration dafür sorgen, dass
"Options FollowSymLinks" für das Verzeichnis "download" gesetzt
ist (vgl. http://httpd.apache.org/docs/2.0/mod/core.html#options).

Achte weiterhin peinlichst auf korrekte Schreibrechte und
Eigentumsverhältnisse auf Verzeichnis- und Dateiebene.

Gruß
 Marcus Reimann
 M. Reimann Systemberatung
 http://www.reimann-systemberatung.de



--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------


Mime
View raw message