kostenloser Webspace werbefrei: lima-city


Temp filenamen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    speckuntu

    Kostenloser Webspace von speckuntu

    speckuntu hat kostenlosen Webspace.

    wie kann ich wenn ich einen ordner habe mit mit Dateien machen dass man diese Dateien nur Downloaden kann wenn man eingeloggt ist(nicht mit htacess anmeldung)?

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Du musst bei jedem Download den Dateinamen ändern. Also einen Dateinamen, und dann eine immer wechselnde Zahl hintendrann hängen. Wenn man eingeloggt ist, kann die Zahlt aus der Textdatei, oder der Datenbank gelsen werden, und der Dateiname wird somit vollständig.
  4. Der User darf den DL Link nicht wissen. Du musst eine download.php erstellen.

    <?php
    $dfile = "Dein Dateiname.irgendwas"; //bsp: files/peter.mp3
    header("Content-Type: application/octet-stream");
    header("Content-Disposition: attachment; filename=\"".basename($dfile)."\"");
    readfile($dfile);
    ?>


    Da musst du dann natürlich noch machen, dass man per GET parameter angeben kann, was man laden will etc. Und deine Login abfrage natürlich auch

  5. Der User darf den DL Link nicht wissen. Du musst eine download.php erstellen.

    <?php
    $dfile = "Dein Dateiname.irgendwas"; //bsp: files/peter.mp3
    header("Content-Type: application/octet-stream");
    header("Content-Disposition: attachment; filename="".basename($dfile).""");
    readfile($dfile);
    ?>


    Da musst du dann natürlich noch machen, dass man per GET parameter angeben kann, was man laden will etc. Und deine Login abfrage natürlich auch

    Herzlichen Glückwunsch. ^^
    Du sendet via "header ()" dem User den Dateinamen...
    An sich ist die Idee aber der richtige Weg, um den Download nur bestimmten Personen zugänglich zu machen.
    Allerdings sollte man dann die Dateien in einem extra Verzeichnis abspeichern und den Zugriff dann via htaccess verbieten, oder sie gleich außerhalb des Document Roots speichern.
  6. ich sende nur den dateinamen.. z.b. peter.mp3.. das is auch wichtig.. soll ja nich doof download.php heißen ;)

    Und ich denk nicht dass die dateien im root gespeichert werden..
    Und der User weiß dann nicht dsas die dateien in /downloads/ oder /files/ liegen.. den ordner kann man dann natürlich noch mit htaccess schützen..
  7. Autor dieses Themas

    speckuntu

    Kostenloser Webspace von speckuntu

    speckuntu hat kostenlosen Webspace.

    wenn ich das richtig verstanden habe dann habe ich einen ordner der mit htacess
    schützt ist in dem die dateien liegen. Dann rufe ich eine php seite auf die dann das file rauskopiert und dann den filenamen ändert. Aber wie kann ich die Datei kopieren? Wäre es möglich das der von euch obengeschriebene Code ein bisschen besser erklärt wird?

    lg,
    speckuntu
  8. Google, anyone? http://www.tutorials.de/forum/php-tutorials/25850-php-download-protector-pro.html
  9. Nein der kopiert die datei nicht raus, er liest den INHALT der Datei aus und sendet den INHALT an den User.
  10. Autor dieses Themas

    speckuntu

    Kostenloser Webspace von speckuntu

    speckuntu hat kostenlosen Webspace.


    Google, anyone? http://www.tutorials.de/forum/php-tutorials/25850-php-download-protector-pro.html

    da steht zwar schön um was es in dem toturial geht aber wie komme ich zu dem?



  11. Google, anyone? http://www.tutorials.de/forum/php-tutorials/25850-php-download-protector-pro.html

    da steht zwar schön um was es in dem toturial geht aber wie komme ich zu dem?





    Nach unten scrollen? :confused:
  12. Autor dieses Themas

    speckuntu

    Kostenloser Webspace von speckuntu

    speckuntu hat kostenlosen Webspace.

    habe mitlerweile

    header("Content-type: audio/x-mpeg");

    $fp = fopen($file, "r");

    while(!feof($fp))
    {
    echo fgets($fp, 1024);
    flush();
    }

    fclose($fp);
    zum streamen von musik gefunden nur das problem ist das ich zwar die den inhalt von der datei bekomme aber leider als stream.php und mein als <object> eingebetter windows media player kann mit der php datei nicht viel anfangen
  13. t*****b


    Der User darf den DL Link nicht wissen. Du musst eine download.php erstellen.

    <?php
    $dfile = "Dein Dateiname.irgendwas"; //bsp: files/peter.mp3
    header("Content-Type: application/octet-stream");
    header("Content-Disposition: attachment; filename=\"".basename($dfile)."\"");
    readfile($dfile);
    ?>


    Da musst du dann natürlich noch machen, dass man per GET parameter angeben kann, was man laden will etc. Und deine Login abfrage natürlich auch


    Was ist das Problem mit dieser Lösung? So wird das gemacht und es wird nicht nur der Dateiname gesendet, sonder auch der Inhalt der Datei (letzte Codezeile). Man muss nur noch eine Überprüfung integrieren, ob der User eingeloggt ist. Und am besten noch das Verzeichnis, in dem die Datei wirklich liegt nur für das System lesbar schützen. So ist man auf der sicheren Seite, falls doch jemand den richtigen Link errät.
  14. Autor dieses Themas

    speckuntu

    Kostenloser Webspace von speckuntu

    speckuntu hat kostenlosen Webspace.

    am schluss noch eine andere Frage: wie kann ich die datei noch zusetzlich schützen weil jetzt kann man falls man gerade angemeldet ist in einem neuem Tab die Datei downloaden, kann man das irgendwie unterbinden? Und welchen Pfad schreibe ich dann dem Windwos Media player der im Quelltext eingebettet ist wenn die die php datei download.php heißt und das dokument was er ausgibt stream.mp3 heißt?

    Beitrag geändert: 30.12.2008 20:51:49 von speckuntu
  15. am schluss noch eine andere Frage: wie kann ich die datei noch zusetzlich schützen weil jetzt kann man falls man gerade angemeldet ist in einem neuem Tab die Datei downloaden, kann man das irgendwie unterbinden?

    Wäre jetzt die Frage, warum das unterbinden willst, da doch eigentlich alle angemeldeten Benutzer das Recht haben sollten die Datei herunterzuladen - oder wie meinst du das?
    Du könntest natürlich zum Herunterladen noch einen Hash überprüfen, den du auf der Downloadseite angibst und auf dem Server speicherst, so dass dieser nur einmalig und User-gebunden benutzt werden kann...

    und iw kann ich machen dass die datei die der client bekommt immer gleich heißt?

    Indem du in der folgenden Zeile "basename($dfile)" durch den Dateiindividuellen Namen ersetzt. Also z.B. den Namen der Datei, den du beim Hochladen in der Datenbank mit abgespeichert hast.
    header("Content-Disposition: attachment; filename=\"".basename($dfile)."\"");


    Und welchen Pfad schreibe ich dann dem Windwos Media player der im Quelltext eingebettet ist wenn die die php datei download.php heißt und das dokument was er ausgibt stream.mp3 heißt?

    Da kann ich dir leider nicht bei weiterhelfen. Ob es so überhaupt geht, weiß ich leider auch nicht.

    PS: Du solltest aber bedenken, dass du auf dem normalen Webspace hier keine MP3-Dateien ablegen darfst.

    Beitrag geändert: 30.12.2008 20:59:05 von karlja
  16. Autor dieses Themas

    speckuntu

    Kostenloser Webspace von speckuntu

    speckuntu hat kostenlosen Webspace.

    .
    PS: Du solltest aber bedenken, dass du auf dem normalen Webspace hier keine MP3-Dateien ablegen darfst.

    das istmir bewusst aber zum glück gibt es auch noch private Server.
  17. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!