Downloadquelle verbergen

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

  • #16
    das ging auch, allerdings nur auf meinem anderen webspace, welcher ein bisschen quallitativer ist (php-resource ). den anderen hab ich nur für downloads. der unterstützt zwar auch php aber auf dem lief das irgendwie nicht. is ja jetzt auch nichtmehr so wichtig, aber trotzdem eine interessante art downloads zu verlinken. allerdings gehts auch ein bisschen einfacher:

    PHP-Code:
    <?php
        header
    ("Content-type: application/zip");
        
    header("Content-Disposition: attachment; filename=datei.zip");
        
    readfile('../../../datei.zip');
    ?>

    Kommentar


    • #17
      das ding hat aber noch 2 kleine fehler:[list=1][*]es in dem downloadfenster steht der name der php datei ( also zum beispiel "download.php" ) . der angegebene name erscheint erst wärend dem download.[*]beim download wird keine gesammtgröße angegeben ( z.b. 100 kb von Unbekannt bereits gespeichert)[/list=1]
      kann man da nicht auch irgendwas machen? zum beispiel die größe mittels filesize() ermitteln und dem header übergeben? gibt es irgendwo eine vernünftige auflistung aller werte die man im header verändern kann? ich hab bei selfphp() garnix, und bei php.net auch nur jede menge beispiele aber keine komplette liste gefunden.

      Kommentar


      • #18
        Ja, gibt es. Unter http://www.w3.org/Protocols/rfc2616/rfc2616 findet man alles zu Header angaben. Viel Spaß beim Lesen

        Die Dateigröße kannst du mit header("Content-Length: ".filesize($filename)); übergeben. Wenn der Dateiname nicht richtig erscheint, kann das am Browser liegen. Ein Beispiel dies zu lösen:

        if ((is_integer (strpos($user_agent, "msie"))) && (is_integer (strpos($user_agent, "win")))) {
        header( "Content-Disposition: filename=".basename($filename).";" );
        } else {
        header( "Content-Disposition: attachment; filename=".basename($filename).";" );
        }

        Quelle: http://de3.php.net/manual/de/function.header.php

        Kommentar


        • #19
          wow...




          danke!

          Kommentar


          • #20
            Möglichkeit 1:
            Man könnte auch ganz einfach eine Session beim Homepage Start initialisieren mit irgendeiner Variable drin.

            Erst wenn diese Variable den Wert X hat kann man das Downloadskript benützen, folglich geht einer direkt auf das Script so wurde die Session noch nicht initialisiert die Variable gibt es nicht und siehe da er darf nichts downloaden


            Möglichkeit 2:
            Überprüfe den HTTP Referer kommt er nicht von deiner Domain kein ZUgriff auf das Script.......
            [color=blue]MfG Payne_of_Death[/color]

            [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
            [color=red]Merke:[/color]
            [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

            Murphy`s Importanst LAWS
            Jede Lösung bringt nur neue Probleme
            Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
            In jedem kleinen Problem steckt ein großes, das gern raus moechte.

            Kommentar


            • #21
              das ist ja schon klar, wir haben das eigendliche problem ja jetzt mir einer htaccess datei gelöst. es geht auch nicht um das script, das kriege ich schon selbst so, dass unberechtige nicht zum download weitergeleitet werden. es geht darum, dass man das script auch einfach umgehen kann und selbst zur datei verlinken. das sind wir ja grade dabei in den griff zu kriegen indem wir mit readfile() eine datei "holen" die oberhalb des document roots liegt.

              Kommentar

              Lädt...
              X