Downloadlinks verschlüsseln / Einweglinks?

  • Guten Tag sehr geehrte Community,

    bin auf der Suche es irgendwie hinzubekommen, dass wenn ich z.B. Paypal als Zahlungsanbieter für meine Website anbiete, der Kunde nach dem Bezahlen nicht den gleichen Link zum gleichen Produkt bekommt wie alle anderen, sondern dass jeder Kunde für den gleichen Download unterschiedliche Links bekommen, aber dass sich das Produkt trotzdem nur an einer Stelle auf dem Server befindet.
    Also sozusagen, dass man die wahre URL des Produktes nicht herausbekommt, aber herunterladen kann nach Bezahlung.

    Hoffe, ihr könnt mir Tipps dazu geben, wie sowas am besten gelöst wird.

    Vielen Dank :):yes:

  • Erzeuge für jeden Kauf einen eineindeutigen Code aus dem Du den Link aufbaust. Beispiel:

    Code
    download.php?code=sjdglksjgsdj0125802958askgsdk

    Wenn man diese URL dann aufruft, prüfst Du in download.php, ob der Code in deiner Datenbank existiert und wenn ja, welche Datei damit verknüpft ist. Diese Datei lädst Du dann per PHP ein und gibst sie an den aufrufenden Browser zurück - als Download.

    Stichwörter:
    - MySQL-Datenbank (zur Speicherung der Codes)
    - fopen() oder file_get_contents() zum Laden des Quellcodes der Dateien)
    - header() zum Setzen entsprechender Header, welche dem Browser sagen was es für eine Datei ist

  • Vielen Dank für die Antwort. Klingt sehr gut.
    Werde mich näher damit beschäftigen und hoffe dass ich das zeitnah hinbekomme und es nicht so schwer ist.
    Vielleicht gibt es ja dafür auch schon fertige Skripte.

    Freundliche Grüße
    Gast 1 2 3 4

  • Und wenn man zusätzlich will dass der Link nur 1x aufrufbar ist oder nur eine gewisse Zeit und danach nicht mehr funzt?

  • Dann setzt man einen Timestamp in der DB, der das Ablaufdatum enthält. Bei einem Download setzt man diesen zurück.

  • Ich hätte da auch mal eine Frage...

    Gibt es eigentlich eine Möglichkeit, allgemein als Händler, beweisen zu können dass man einen Download ausgeliefert hat?
    Download mitloggen? Ausreichend? Wenn ja wie geht das?

    Danke.

  • Beim Download genaue Uhrzeit und IP speichern, mehr kannst du nicht machen. Oder du baust noch zusätzlich ein Login ein, dann kannst du immer sagen, dass sich jemand mit den entsprechenden Zugangsdaten eingelogt hat.

  • Hey zusammen,

    ich danke euch allen vielmals für die Fragen & Antworten.
    Echt super. Zum Glück auch noch an den Timestamp gedacht
    :D

    @Unregistriert: Download nachweisen? Das wird ja immer lustiger... bisher habe ich noch nichts davon gehört, dass sowas jemals jemand machen musste... Wäre ja auch viel zu übertrieben das zu verlangen, wenn z.B. bei einem Online-Shop automatisiert Downloads ausgeliefert werden oder?!? Und wenn es allgemein funktioniert... Ich meine wenns nicht funktionieren würde, wären ja alle Kunden davon betroffen...? !!

    Freundliche Grüße:)

    Einmal editiert, zuletzt von Gast 1 2 3 4 (22. Juli 2012 um 21:34)

  • Von deiner Seite aus ist es ausreichend nachzuweisen, dass jemand einen Download-Request gestartet hat. Ob der beendet (sprich: komplett ausgeliefert) wurde kannst Du technisch nicht nachweisen - ist nicht möglich.

  • Von deiner Seite aus ist es ausreichend nachzuweisen, dass jemand einen Download-Request gestartet hat. Ob der beendet (sprich: komplett ausgeliefert) wurde kannst Du technisch nicht nachweisen - ist nicht möglich.

    jain, technisch möglich isses, wenn die daten an den client nicht gezipped ausgeliefert werden (gziplib)
    das thema hatte ich ja hier bereits mit einem meiner dl-skripte..

    man kann den download in einen buffer lesen und wenn der bei eof ankommt ist der download ausgeliefert...

    außerdem speichert man überlicherweise die erlaubnis downloaden zu können in der session und solange die gültig is, kanns einem ja egal sein wie oft die datei geladen wurde, wenn man des mit so nem bezahlsystem macht :)