Professionelles Downloadscript gesucht !

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Professionelles Downloadscript gesucht !

    Hallo!

    ... erst mal vorab: ich habe hier das gesamte Scriptangebot sowie sämtliche Threads nach meinem Wunsch durchsucht, bin aber nicht fündig geworden.
    Daher versuche ich mal auf diesem Weg, das zu finden was ich benötge.

    Ich suche ein professionelles Downloadscript (non-kommerziell oder kommerziell),
    welches über folgende Funktionen verfügt:

    1.)
    Nach einer Bestellung möchte ich dem Kunden einen "versteckten Downloadlink" mitteilen.
    D.h. der Kunde darf nicht wissen, wo sich die eigentliche Datei genau befindet (z.B. wie bei Firstgate, element5, etc.)

    2.)
    Der dem Kunden mitgeteilte Link darf nur max. 2 Tage aktiv bzw. nutzbar sein.

    3.)
    Gleichzeitig darf dieser Link bzw. dieser Download nur max. 2 Mal durchgeführt werden können.

    4.)
    Das Script muss so sicher sein, das anhand von der Downloadsession? kein mißbräuchliches downloaden möglich ist und nicht nachvollziebar ist, in welchem Verzeichnis welche Dateien liegen.

    Gibt es sowas? Preis spielt erst mal keine Rolle.

    Vielen Dank für Eure Hilfe,

    artviolet

  • #2
    mach nen jobangebot draus, fertig wirst du das imho nicht finden.
    Kissolino.com

    Kommentar


    • #3
      Hmms, nue ein denkanstoß,

      kann man nicht einfach für jede bestellung einen ordner erstellen, in dem dann temporär die Datei hinterlegt wird? Ein Script sorgt dann für die Löschung aller Ordner, die älter als 2 Tage sind.
      Und nen Counter zu bauen, wird nicht so schwer sein, denke ich.

      Wenn ich da auf irgendwelche falschen Gedanken gekommen bin, klärt mich auf

      Kommentar


      • #4
        oder anders:

        verzeichnis mit htaccess sperren.


        und download über ein script (auslesen und ausgeben).

        Kommentar


        • #5
          mein tipp:
          mach nen skript, dass mit einer id aufgerufen wird.

          id speicherst du in der datenbank.
          nach einmaligem aufruf sollte sie geloscht werden
          (oder halt nach einem zweiten aufruf ... einfach das und das datum in der db speichern ...

          leg die files AUSSERHALB des webverzeichnisses ...

          voila ...
          sollte funzen, allerdings nur, wenn du auch dateien ausserhalb des www-verzeichnisses ablegen kannst.

          gruss
          iglo

          Kommentar


          • #6
            ich bin gerade vor dem selben skript und bastel mir da was zurecht ^^ ...

            ich habe hier ein code schnipsel gesehen indem ein php skript die daten an den client schickt .... aber scheitert dies nicht an der 5 min hürde ? ... sobald die maximale zeit für ein skript erreicht ist wird dies doch gestoppt und der download würde automatisch abgebrochen werden oder ? und ein resume wäre ja auch nicht möglich, wenn man mal ausversehen abgebrochen hat ? ich hoste downloads die im schnitt 600 mb groß sind ... da wäre das glaub ich keine gute lösung mit dem php snippet :-?

            mein links routen auch nur auf die id in der datenbank ... aber,

            die idee mit der db für die zeitlich begrenzt gültigen links ist gut, .... ich habe mir überlegt wenn die daten ausserhalb des webverzeichnisses liegen, könnte man eine linuxverknüpfung im webverzeichnis erstellen und den client per refresh auf diese linuxverknüpfung routen ,.. und diese linuxverknüpfung dann löschen .... dann würde er die datei downloaden OHNE den wahren link zu kennen , da er nur auf eine temopräre lnx verknüpfung geroutet wurde ...

            nur wann weiss ich ob eine linuxverknüpfung benutzt wurde ? kann man das im system sehen wann diese zuletzt benutzt wurde ? dann könnte ein cronjob regelmaessig schauen welche lnx verknüpfungen benutzt wurden und diese löschen ...

            Wie könnte man nun feststellen wann derjenige auf den Link geklickt hat ? oder ob er draufgeklickt hat ? (ohne irgendwelche apache logfiles auszuwerten)

            Kommentar


            • #7
              Ich habe mir sowas ähnliches mit "Tokens" programmiert...

              Der User bekommt dann eine mail in der Art:

              http://meinedomain.de/dl.php?token=c...jkcdghglcehjkc

              Der Link startet ein Script, dass den Token zunächst auswertet. Zuerst wird geprüft, ob der Token gut/echt ist (crc32-Checks).

              Ist er gültig, wird die noch verbleibende Restzeit für den DL in sec daraus ermittelt. Wenn noch Restzeit da ist, aktiviert das Script den Download.

              Die zu downloadende Datei liegt unterhalb des /www, dh. ist
              von aussen nicht erreichbar. Nur das Scipt kann
              serverseitig darauf zugreifen und streamt (! gelle ) die Datei bei Bedarf an den User. Absolut gesehen gibt es den Link also gar nicht. Er wird vielmehr dynamisch erzeugt, je nachdem ob ein gültiger Token angegeben wird.

              Wenn ich jetzt noch eine zusätzliche Tabelle anlege, in der alle Tokens bei Generierung gespeichert und bei Abruf automatisch gelöscht werden (nur 1x DL möglich), dann habe ich im Prinzip die komplette Lösung für Dein problem, sofern es noch besteht.


              Nachfragen erlaubt.
              Zuletzt geändert von graumarl; 06.05.2004, 18:28.

              Kommentar


              • #8
                ja daran habe ich auch schon gedacht es direkt zu streamen und dabei den link als "verbraucht" zu kennzeichnen ,... aber:

                meine downloads sind im schnitt 200-700 mb groß ... wenn ein user nun 2 h für das downloaden braucht timed das php stream skript nicht aus ? nach einer maximalen ausfuehrungsdauer von X minuten ?

                wie sieht das mit dem resumen aus wenn ich das direkt streame ? das würde ja nicht gehen :-?

                Gruß
                WiZARD

                Kommentar


                • #9
                  Na ja, ich kann es nur lokal testen, da ich keinne 700 MB hochladen will.
                  Aber das kommt schon auf die Implementierung und php.ini an. Mit der Standardeinstellung hat es zumindest bis 1 GB problemlos geklappt. Wirklich empfehlen kann ich es bei grossen files allerdings nicht.





                  Wie man an dem Bild schön sieht, ist die URL des Downloads das php Script selber. Was sehr elegant ist, geht noch einfacher und 100% auch mit grossen Dateien:

                  Pack Deine DLs in ein Verzeichnis (z.B. htaccessprotected_dir/) und sicherst dieses mittels .htaccess. In die .htpasswd packst Du dann die irgendwelche Accounts rein (random):

                  zb.
                  random_username:random_password

                  Dem User schickst Du dann eine mail mit dem link zum download:
                  http://www.deinedomain.de/link.php?id=12345

                  Dein Script links.php öffnet dann eine Datenbankabfrage wo hinterlegt ist, um welchen DL es sich handelt:

                  DB:
                  id=12345
                  dir=htaccessprotected_dir/
                  file=download.zip
                  count=2


                  Der Zähler count wird dann um 1 erniedrigt oder wenn 0 der DL abgebrochen.
                  Bei DL wird die .htpasswd vom Script eingelesen und der DL gestartet mit

                  header("Location: http://random_user:random_password@m...r/download.zip")

                  Am Ende wird der random_user aus der .htpasswd gelöscht, da er bereits verwendet wurde und dem User bekannt ist. Stattdessen wird ein neuer zufällig generiert und gespeichert.

                  Ob die I/O-Zugriffe auf die .htpasswd multi-User-fähig sind, kann ich nicht sagen. Aber mit ein wenig Tunig lassen sich diese Nachteile auch beseitigen. Die Ansatz ist gegeben.
                  Zuletzt geändert von graumarl; 07.05.2004, 00:04.

                  Kommentar


                  • #10
                    so ähnlich mache ich es momentan auch ,... allerdings wenn derjenige redirected wird und einen downloadmanager an hat, dann kriegt er die url mit dem usernamen und dem passwort ... , das passwort kann man dann auslesen und den direkten string den man durch den header redirect bekommen hat weitergeben, so daß die abfrage ob es schon gedownloaded wurde ausser kraft gesetzt wurde ...

                    naja eine 100% ige sicherheit bekommt da man da wohl nicht rein ,... momentan speicher ich die ip des users und einige daten in einer extra download tabelle die über den downloadlink abgefragt wird (ob schon gedownloaded wurde und ob die ip´s uebereinstimmen) ..

                    ein kleines "restrisiko" bleibt wohl obwohl ich das verkraften kann ... ich werds einfach mal durchprobieren ... nur bei einigen letzten releases hatte ich alleine durch einen patch schon 100-200 gb traffic, was man natuerlich ein wenig abfedern moechte

                    aber danke für die verschiedenen lösungsansätze ... bis 10 mb lass ich mein php skript direkt an den user streamen und alles was darüber geht über datenbankeintrag mit ip und einer linuxverknüpfung die dann per cron 1x pro minute gecheckt wird obs noch aktuell ist und sonst gelöscht wird ...

                    Kommentar

                    Lädt...
                    X