Dateidownload aus geschütztem Verzeichnis

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

  • Dateidownload aus geschütztem Verzeichnis

    Hallo Leute,

    ich hatte vor kurzem eine Anfrage für eine Idee zur Erstellung einer "sicheren Dokumentenablage gestellt:
    http://www.php-resource.de/forum/sho...ghlight=iceman

    Die Idee von Abraxax (Re: Noch eine kleine Frage dazu... ) habe ich gleich einmal versucht umzusetzen, habe dabei aber ein Problem.

    Hier erstmal der Code:
    >>>>>
    PHP-Code:
     //hole Datensatz aus Datenbank
     
    $query="select * from $tbl where ID='$id'";

     
    //überprüfe ob Datensatz gefunden wurde
     
    if(mysql_num_rows(mysql_query($query))<=0) {exit();}

     
    //hole alle notwendigen Daten aus Datensatz
     
    $row=mysql_fetch_array(mysql_query($query));

     
    //hole Inhalte der einzelnen Felder und überprüfe ob Sie Leer sind
     
    $dname=$row[NAME];
     
    $dpfad=$row[ABSPFAD];
     if(
    $dname=="" || $dpfad=="") {exit();}

     
    //Hole Datei und sende sie an Benutzer/Browser
     
    if(substr($dpfad,-1,1)!="/") {$slash="/";}
     
    $pfad=$dpfad.$slash.$dname;

     
    //Mimetyp anhand der Endung holen und Header ausgeben
     
    header("Content-type: ".mime($dname)); 
     
    header("Content-Disposition: attachment; filename=$dname");
     
    header("Content-Transfer-Encoding: binary");
     
    header("Pragma: no-cache");
     
    header("Expires: 0");

     
    readfile($pfad);
     unset(
    $pfad); 
    <<<<<

    EDIT:
    Auch du kannst die php.tags des Forum benutzen! php.tags by Wotan


    Jetzt habe ich aber das Problem, dass wenn ich auf den geschützten Ordner zugreife ich keine Datei ausgegeben bekomme.
    Es erscheint nur eine leere Seite.

    Wenn ich aber die Datei in einen nicht geschützten Ordner lege, wird Sie angezeigt.

    Hat jemand eine Idee wie ich es lösen kann, damit mir auch die "geschützten" Dateien ausgegeben werden?
    Ich danke Euch schon mal im voraus.

    iceman
    Zuletzt geändert von Wotan; 27.08.2003, 13:58.

  • #2
    Re: Dateidownload aus geschütztem Verzeichnis

    Original geschrieben von iceman
    Jetzt habe ich aber das Problem, dass wenn ich auf den geschützten Ordner zugreife ich keine Datei ausgegeben bekomme. [...] Wenn ich aber die Datei in einen nicht geschützten Ordner lege, wird Sie angezeigt.
    mal etwas genauer, welche datei liegt jetzt im geschützten verzeichnis - das download-script, oder die datendatei, die eigentlich runtergeladen werden soll?

    bei einem zugriff übers dateisystem des servers (readfile) hat ein zugriffsschutz per htaccess keinerlei auswirkungen - also machst du wohl noch irgendwas falsch.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Erläuterung

      @

      also die PHP-Datei zum Downloadstart liegt frei auf dem Server.
      Und die downzuloadende datei liegt in einem geschützten Ordner per .htaccess.

      Aber diese wird mir nicht ausgegeben, nur wenn ich den .htaccess-Schutz entferne.

      iceman

      Kommentar


      • #4
        vllt ist das Problem hier:
        PHP-Code:
        if(mysql_num_rows(mysql_query($query))<=0) {exit();} 
        dass er die ID nich findet ?
        oder hier:
        PHP-Code:
        readfile($pfad); 
        dass in $pfad ne URL steht (http://server.de/datei.zip) anstatt nem echten Pfad (/pfad/zur/datei.zip) ?
        hopka.net!

        Kommentar


        • #5
          jetzt klappt es...

          ...und ichhabe keine Ahnung wieso.

          Ichhabe am Skript nichts geändert, außer das ich den Rechner neu hochgefahren habe.

          Es muss wohl etwas im Browser abgeschossen haben.
          Da konnte ich ja lange suchen.

          Trotzdem nochmal Danke an alle.

          iceman

          Kommentar

          Lädt...
          X