PHP Problem - Frage...



  • Mit disk_total_space kannst du überprüfen, wie groß ein Ordner ist. Dann musst du wie schon vorher gesagt einfach überprüfen, wieviel Platz du noch hast bis zu deinem Maximum (in deinem Fall 25 MB) und musst schauen, ob die abzuloadende File da noch reinpasst:
    http://www.dclp-faq.de/q/q-datei-upload-ftp.html



  • Ja, klar. Nur: Ich habe erst angefangen, mit PHP umzugehen....

    Ich denke mal an sowas:

    if($./downloads/>20MB)
    {
    copy($datei, "$./downloads/$datei_name");
    }
    else
    {
    echo "Fehler: Datei nicht gesendet oder kein Platz mehr frei!";
    }
    

    Wenn meine obige Vermutung etwa aufgeht... wie soll das Skript erkennen, das es den GESAMTSPEICHERPLATZ vom Ordner "Downloads"! auslesen soll??



  • hä, hast du dir mal die von mir oben gepostet Links angeschaut ?



  • Whooops!!!
    Das hab ich übersehen! sorry! 😉



  • Okay... habe jetzt eine SPACE.PHP angelegt:

    <?
    $df = disk_total_space("http://free.cyberhost.tk/programmer/downloads");
    echo "Noch $df frei!";
    ?>
    

    Nur bekomme ich

    Noch frei! anstatt Noch 12 MB frei oder so... warum??



  • Ok. hat sich erledigt...

    Wird mir aber alles nur in BYTES!! angezeigt!!!
    Kann man irgendwie nicht bewirken, dass der alles in MB anzeigt??
    Mein COde sieht momentan in der SPACE.PHP so aus:

    <?
    $df = disk_total_space("downloads/");
    echo "Noch\n";
    echo $df;
    echo "\nBytes frei!";
    ?>
    


  • einfach 2 mal durch 1024 teilen! (bzw. durch 2^20)



  • sieht dein upload-script wirklich so aus?!?
    dann ist das eine massive sicherheitslücke!

    man könnte damit beliebige datein überschreiben.
    das ist zwar nicht schwer, aber ich schreibe jetzt mal
    trotzdem nicht wie es geht. wenn du fragen hast ->mail



  • Original erstellt von Tendor:
    **sieht dein upload-script wirklich so aus?!?
    dann ist das eine massive sicherheitslücke!

    man könnte damit beliebige datein überschreiben.
    das ist zwar nicht schwer, aber ich schreibe jetzt mal
    trotzdem nicht wie es geht. wenn du fragen hast ->mail**

    Wenn du fragen hast ->Mail

    hmm...
    Danke!!! 😉 *freu*!
    So einen "Support" habe ich lange nicht mehr hier im Forum erhalten! ;))))))



  • grmpf...ich wollte nicht hier schreiben wie man die lücke ausnutzt.

    aber von mir aus... 😉
    du solltest prüfen, ob es die datei nicht schon gibt und sicherstellen, dass der dateiname keine / und .. enthält.
    sonst könnte man dein script so aufrufen:

    upload.php?datei=irgenwas&datei_name=../index.php&upload=1

    dein copy befehl sieht dann so aus:

    copy( "irgendwas", "./downloads/../index.php" );

    wenn du pech hast (chmod) wäre dann deine index.php futsch...


Anmelden zum Antworten