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 [EMAIL PROTECTED] sonstige Anfragen an [EMAIL PROTECTED] --------------------------------------------------------------------------