Einmaliger Download einer Datei nach Codeeingabe

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

  • Einmaliger Download einer Datei nach Codeeingabe

    Hallo,
    ich suche ein script, mit dem ich eine Datei zum Download bereitstellen kann.

    Dieses script soll aufgerufen, erstmal eine codeabfrage zur verfügung stellt. DIeser Code soll dann mit einer Liste an Codes abgeglichen werden, und sollte der Code in der Liste stehen, die Datei zum Download anbieten "Speichern unter-Dialog".

    Sobald der Code als richtig erkannt wurde, soll dieser deaktiviert werden, sprich bei einem erneuten Versuch soll der Code als ungültig dargestellt werden, und der Download verhindert werden.

    Das selbe soll natürlich auch passieren wenn der code falsch eingeben wurde.

    Danke schonmal im voraus für eure hilfe

  • #2
    Hallo,

    hast du auf dem Server MySQL zur Verfügung oder muss die Verwaltung der Codes auf Dateien basieren?

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Mysql steht zur verfügung ja.

      Einzig die Dateien welche zum Download angeboten werden, liegen auf verschiedenen Servern.

      Kommentar


      • #4
        Und wie werden die auf dem anderen Server bereitgestellt? Ich frage wegen der Einmaligkeit der Codes. Wenn sie einfach verlinkt werden, kann man diesen Link trotz abgelaufenem Code immer wieder benutzen. Wenn man sie von dem anderen Server lädt und dann ausgibt, wird der Speicher knapp. Man müsste sie also direkt von dem anderen Server streamen. Trotzdem stellt sich die Frage, ob die dort einfach so rumliegen oder auch irgendwie geschützt sind (HTTP Auth, Session oder Wegwerfcode).

        Das klingt sehr danach, als ob es dafür kein fertiges Script gibt und wenn doch, müsste das noch umfangreich angepasst werden.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Aktuell werden die entsprechenden Verzeichnisse auf dem anderen Server noch per htaccess geschützt.

          Mehr nicht.

          Eine 100%ige sicherheit brauch ich hier auch nicht, es geht im endeffekt nur darum, das die Leute welchen ich den Link zum Download gebe (z.b.: www.example.com/download.php?fileid=1) und den passenden Code halt die Datei einmal speichern können. Leider hab ich da immer wieder mal den einen oder anderen Spezialisten dabei, der den link weitergibt, auch an leuten denen ich meinen teuren traffic nicht gerne opfern möchte. Deswegen halt die Variante "Nö nur einmal und danch brauchste wenn nen neuen code von mir"...

          edit: Im zweifel kann ich das entsprechende script dann aber auch auf dem server laufen lassen, wo entsprechende datei liegt. Da hab ich auch mysql zur verfügung!
          Zuletzt geändert von AmicaNoctis; 06.01.2010, 08:15. Grund: Beispieldomain in example.com geändert!

          Kommentar


          • #6
            Ok, also streamen.

            Da ich mal annehme, dass sich auf die Schnelle kein solches Script fix und fertig finden lässt, solltest du dir trotzdem schonmal Gedanken machen, wieviel du dafür denn ausgeben würdest und es als Jobangebot posten.

            Amica
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Zitat von dadem1206 Beitrag anzeigen
              Aktuell werden die entsprechenden Verzeichnisse auf dem anderen Server noch per htaccess geschützt.
              Kannst du per PHP-Script diese Konfigurationsdatei ändern? Dann könntest du per <Files>-Directive und ein bisschen Deny und Allow den Zugriff auf bestimmte IP-Adressen begrenzen. Das dürfte eine Weitergabe der Download-URL an andere nutzlos machen. Und bei den diversen Download-Portalen arbeitet man ja auch nicht anders.

              Code:
              # so in etwa ...
              order deny, allow
              deny from all
              allow from <IP>
              Vorteile:

              Das Handling des Downloads wird dem Server überlassen. Der kann damit besser umgehen als die meisten PHP-Scripts. Range-Request und ähnliches sollte damit funktionieren.

              PHP muss nicht für jeden Download(-Versuch) gestartet werden.

              Nachteil:

              Wenn der Downloader bei einem Internet-Provider hängt, der seine (Remote-)IP-Adressen ständig ändert, funktioniert das Verfahren nicht. Da könnten Adressbereiche statt einzelner IP-Adressen vielleicht weiterhelfen.

              Zitat von AmicaNoctis Beitrag anzeigen
              Hallo,
              hast du auf dem Server MySQL zur Verfügung oder muss die Verwaltung der Codes auf Dateien basieren?
              Wozu braucht man MySQL um ein paar Downloads (IP-Adressen und Dateinamen) zu koordinieren?
              Da gibts doch leichtgewichtige Alternativen ...
              Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

              Kommentar


              • #8
                Textdateien bearbeiten

                Hallo,
                ich habe eine Textdatei, in der verschiedene Codes stehen.

                Ein User kann über ein Formularfeld einen dieser Codes eingeben. Dieser soll dann aus der Textdatei gelöscht werden und eine weitere Funktion des scripts ausgeführt werden.

                Gibt der User aber einen Code ein, der nicht in der Textdatei steht soll das script mit einer fehlermeldung abgebrochen werden.

                Wie kan ich sowas möglichst einfach realisieren?

                Kommentar


                • #9
                  Hallo,

                  wenn die Codes zeilenweise aufgelistet sind, nimmst du file, andernfalls file_get_contents und explode, preg_split oder preg_match.

                  Zum Speichern bietet sich file_put_contents an. Dabei können aber zeitgleiche Aufrufe des Scripts die Datenintegrität zerstören. Da kann man dann Lockingmechanismen einbauen oder gleich MySQL nehmen.

                  Gruß,

                  Amica
                  [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                  Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                  Super, danke!
                  [/COLOR]

                  Kommentar


                  • #10
                    Immer noch gleiche Baustelle - *zusammenführ*
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar

                    Lädt...
                    X