MP3-Shop - Downloadbeschränkung

lorey

Grünschnabel
Hallo Forum!

In einem Internet-Shop, den ich erstelle, sollen u. a. MP3s zum Download angeboten werden.
Nun könnte ein schlauer Kopf, der ein wenig Ahnung von HTML und Co hat, auf die Idee kommen, die MP3-Datei nicht per Shop ordendlich zu kaufen, sondern direkt runterzuladen.
Wie kann ich den Download von dieser MP3 beschränken?
Ich habe mir folgendes vorgestellt:
Der Benutzer bekommt über einen Kunden-Account die einmalige Gelegenheit sein bezahlte MP3-Datei runterzuladen.
Wie stell ich das an? :confused:

Lorey
 
Ganz einfach. Zunächst einmal die Dateien außerhalb des htdocs Verzeichnis auf dem Webserver speichern.
Dann wird beim Kauf eine ID generiert, die auf die gewünschte Datei verweist. Der Kunde bekommt die URL mit ID als Parameter nach dem Kauf zugeschickt, und kann sich die Datei herunterladen. Nach dem Download wird die ID "ungültig" sodass man damit die Datei nicht noch einmal herunterladen kann.
 
Hallo cameeel!

Danke für die Antwort.
Hmm, so ganz verstanden habe ich das nicht.
Was ist denn htdocs? Ich kenn' nur .htaccess.
Und das mit der ID ist mir auch nicht so klar. Ist das eine Art Session-ID?

Lorey
 
Also das htdocs Verzeichnis ist normalerweise das Verzeichnis auf Webservern, das über HTTP aufgerufen werden kann. Da du nicht weißt was das ist würde ich dir raten den Zugriff auf das Verzeichnis, in dem die mp3 Dateien liegen, über .htaccess zu sperren.

Ich würde für das beim Downloaden ein bisschen anders machen: Beim Kauf wird wie gesagt eine zufällige ID generiert:
PHP:
$id = substr(md5(time() + rand()), 5, 10);
Dann schreibst du ein Script, dem die ID übergeben wird, sie ungültig macht und dann die Datei ausliefert. Solltest du noch praktische Fragen haben kann ich dir gerne helfen.
 
Hallo nosilume,

also Dein Lösungsvorschlag gefällt mir bisher besser.
Noch ein paas Fragen:

Verweigert mir .htaccess nicht den Zugriff auf den Ordner?
Und falls ich die .htaccess-Sperre überwinden kann, wie starte ich dann einen Dateidownload, und nicht z.B. das Quick-Time-Plugin?

Besten Dank.

Lorey
 
Also .htaccess verweigert den HTTP Zugriff auf den Ordner. Das heißt das du mit PHP immer noch darauf zugreifen darfst. Wie du jetzt Downloads starten kannst, kannst du hier nachlesen.

Edit: Bei der Methode sollte das Quicktime Plugin eigentlich nicht starten.
 
Ahh,

genau das was ich seit heute Nachmitag suche!

Das der Download über header laufen muss, das hatte ich auch schon irgendwo gelesen, nur hat das bei mir nie funktioniert.

Ok, ich denke ich machmich dann mal ans Werk.

Vielen Dank an euch beide!

Lorey
 
Zurück