Downloadquelle verbergen

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

  • Downloadquelle verbergen

    ich biete auf meiner homepage ( www.wingimp.de ) den gimp für windows zum download an. dafür habe ich mir extra einen provider gesucht, bei dem wirklich viel traffic enthalten ist (networksolutions mit 25GB ) da ich aber keine lust habe trotzdem mal nachzahlen zu müssen werden die downloads über ein script gesteuert, das für jede datei die größe addiert und dann auf die datei weiterleitet wenn ein neuer monat anfängt wird diese zahl automatisch auf 0 gesetzt. übersteigt sie die 25 GB wird auf eine sogenannte "sorry" seite weitergeleitet. da das eigendlich recht großzügig gerechnet war, da ja auch downloads mittendrin abgebrochen werden, dachet ich, die sache wäre in ordnung. aber dann, irgendein sponk hat sich wohl gedacht, dass es toll wäre auch den wingimp auf seiner homepage anzubieten, hatte aber ekine lust so einen kult um sein trafficvolumen zu treiben.

    von 1. bis 4. januar hat das script 2GB geloggt tatsächlich hat der gimp aber schon 3GB verursacht. (wenn dieser idiot wenigstens den zähler verlinkt hätte, damit ich weiterhin kontrolle habe).

    mein problem ist jetzt , dass ich ganz gerne irgendwie die quelle des downloads verbergen würde, so dass das nichtmerh vorkommen kann. ich habe schon versucht, die datei in einem ordner zu speichern, der über das www nicht erreichbar ist und mit ftp_connect() eine verbindung aufzubauern (mit passwort und so ) allerdings kann man ja über die ftp-funktionen keinen download zum client starten, ich könnte die datei höchstens auf dem server rumkopieren und nach dem download wieder löschen, aber das dauert dann erstens länger und verursacht außerdem noch mehr traffic, weil die downloads auf einem anderen server sind als das script. ich bin echt mir meinem latein am ende.

    eine weitere möglichkeit, die mir einfällt wäre die zugriffsstatisiken irgendwie auszulesen, also immer die korrekte zahl des monatstraffics zu haben, allerdings glaube ich nicht, dass der provider mir die nötigen rechte einräumt.

    hat irgendjemand irgendeine idee wie ich das lösen kann? oder muss ichs einfach hinnehen und ab und zu mal den prad ändern um dem arsch wenigstens ein bisschen arbeit zu machen?

  • #2
    Wenn du weißt wer das gemacht hat:

    Ihn freundlich darauf hinweisen, das er sein Download selbst hosten muss...

    Wenn er nicht reagiert, zum Anwalt damit gehen...



    Wenn du nicht weißt wer das macht, dann verschiebe die Datei und mach auf deine Fehlerseite irgendein netten Text wie "klauen ist hier nicht ".


    Vielleicht gibt es ja auch mit JavaScript ne möglichkeit die letzte Seite des Benutzers zu speichern und an PHP übergeben, so dass du weißt wo die Leute herkamen..
    PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

    Kommentar


    • #3
      könnte dir weiterhelfen:
      http://www.trafficklau.de/index1.html
      Kissolino.com

      Kommentar


      • #4
        Re: Downloadquelle verbergen

        Original geschrieben von Tenebrael
        ab und zu mal den prad ändern um dem arsch wenigstens ein bisschen arbeit zu machen?
        vielleicht den pfad täglich ändern?

        die download-dateien in ein extra verzeichnis legen, dieses verzeichnis jeden tag umbenennen, in dem du per rand()/md5() einen kryptischen namen erzeugst.

        diesen namen zusätzlich in einer includedatei ablegen ($verzeichnisname="ab6keurt7z", so dass du ihn dort auslesen und auf deiner download-seite dynamisch in die links einfügen kannst.

        PHP-Code:
        icnlude "includedateimitverzeichnisname.inc.php";
        echo 
        '<a href="/'.$verzeichnisname.'/download.exe">hier klicken zum downloaden</a>'
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          @wahsaga: echt eine tolle idee

          aber ich würds mit htaccess machen und nur downloads von deiner seite erlauben. mußte dies vor ein paar monaten auch machen ... seitdem habe ich damit ruhe

          Kommentar


          • #6
            also die letzten beiden antworten klingen ziemlich genial, hatte auch schon an htacces gedacht, bin da aber noch nicht so bewandert, ich les mir mal das htaccess kapitel im selfhtml durch.
            aber das mit dem verzeichnis random klingt auch zimlich genial. danke!

            zum anwalt gehen will ich echt nicht deswegen zumindest nochnicht, erst wenn ich wirklich mal nen fetten batzen nachzahlen muss.

            danke

            Kommentar


            • #7
              @hansi

              ähh, ich nochmal, ich hab bei selfhtml nur optionen gefunden wie ich betimmte IP's ausschließen bzw. erlauben kann. was ich aber allgemein ausschließen bzw. speziell erlauben will ist ja der referer, also die aufrufende seite (in diesem fall nur www.wingimp.de/content/downloads.php ) diese möglichkeit ist in dem htaccess-kapitel von selfhtml nicht aufgeführt. wenns nicht all zu viele umstände macht könntest du vielleicht mal den inhalt deiner htaccess hier posten vertrauliches kannst du ja rauslöschen.
              mir ist schon die idee gekommen, dass ich die ip's auf der wingimp seite in einer datei oder einer session speichere und diese dann für die downloads auslese, also, dass nur ip's die vorher bei wingimp.de waren die datei runterladen dürfen. aber in die htaccess dateien kann ich ja keine php anweisungen schreiben.

              Kommentar


              • #8
                schaue dir doch einfach mal den link von wurzel an. da ist doch alles drin, was du brauchst.
                Original geschrieben von Wurzel
                könnte dir weiterhelfen:
                http://www.trafficklau.de/index1.html
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  schau mal unter http://www.bananajoe.de/beispiele.html#4 nach, dort ist das ganze zum schutz von bildern vor trafficklau beschrieben - musst es jetzt nur noch derart anpassen, dass es eben nicht mehr auf die bilder, sondern auf deine downloaddateien bezogen ist - und eben so, dass der referrer eben deiner seite entsprechen oder leer sein muss.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    hab beide ausprobiert: er lässt garkeinen mehr rein. ja, ich hab dran gedacht die url und den dateitypen anzupassen. ich tüftel mal noch ein bisschen rum

                    Kommentar


                    • #11
                      hier mal ein beispiel für dich:

                      Code:
                      RewriteEngine on
                      RewriteCond %{HTTP_REFERER} !^$
                      RewriteCond %{HTTP_REFERER} !^[url]http://[/url](www\.)?wingimp\.de(/.*)?$ [NC]
                      RewriteRule \.(gif|jpg|GIF|JPG)$ [url]http://www.wingimp.de/images/fuckyou.jpg[/url] [R,L]
                      erklärung:
                      zeile 3: nur von dieser domain (egal ob mit www oder ohne) kann auf die datei zugeriffen werden
                      zeile 4: erlaubt dateitypen eintragen, für dich z.b. zip, exe, etc. mit | trennen
                      zeile 4: dieses bild wird angezeigt, wenn auf eine datei zugeriffen wird, aber nicht von deiner url -> beim beispiel: fuckyou.jpg

                      so läuft das auch bei mir....

                      cu,
                      HANSI

                      Kommentar


                      • #12
                        danke, hat geklappt!!!
                        danke auch an alle anderen für die fleißige hilfe und RESPEKT für die idee mit dem ordner umbenennen.

                        Kommentar


                        • #13
                          Du könntest das ganze auch mit PHP machen. Mit header() kannst du den Mime-Typ der Datei angeben und dann mit implode('', file($dateiname); die Datei ausgeben. Dann lässt sich mit header() auch noch der angezeigte Name beim Speichern unter angeben. Somit weiß niemand, wo deine Datei liegt, da dies im PHP Script steht.

                          Ich hatte mal ein Script, der dies machte. Finde ihn momentan jedoch nicht. Kannst ja mal im PHP Manual bei header() nachschauen. Ist gut möglich, dass dort Beispiele drin stehen.

                          Kommentar


                          • #14
                            das wird ja mit deader befehl aufgerufen. der download wird erst gezählt und dann wenn nicht zu viele downloads schon stattgefunden haben, wird zur datei weitergeleitet. es hat trotzdem irgendjemand die datei selbst verlinkt, sonst müssten ja die aufrufe in den statistiken mit meinen übereinstimmen. mein problem ist ja jetzt gelöst, aber ich kann das script ja nochmal angeben, falls es jemanden interessiert

                            <?
                            $logfile = "../data/log.dat";
                            $limit = 25000;
                            $files["gtk"][0] = "http://dlitnok.eson.de/gtk+-1.3.0-20030717-setup.zip";
                            $files["gtk"][1] = 2;
                            $files["gimp"][0] = "http://dlitnok.eson.de/gimp-1.2.5-20030722-setup.zip";
                            $files["gimp"][1] = 6;
                            $files["gtksc"][0] = "http://dlitnok.eson.de/gtk+-1.3.0-sourcecode.zip";
                            $files["gtksc"][1] = 2;
                            $files["gimpsc"][0] = "http://dlitnok.eson.de/gimp-1.2.5-src-all.zip";
                            $files["gimpsc"][1] = 11;

                            $date = getdate(time());
                            $month = $date[mon];
                            if(file_exists($logfile))
                            {
                            $data = file($logfile);
                            $total["gtk"] = $data[0];
                            $total["gimp"] = $data[1];
                            if($data[2] == $month)
                            $traffic = $data[3];
                            else
                            $traffic = 0;
                            }
                            else
                            {
                            $total["gtk"] = 0;
                            $total["gimp"] = 0;
                            $traffic = 0;
                            }
                            if($traffic <= $limit)
                            {
                            $traffic = $traffic + $files[$file][1];
                            if(isset($total[$file]))
                            $total[$file] = $total[$file] + 1;
                            $log = trim($total["gtk"]) . "\n" . trim($total["gimp"]) . "\n" . $month . "\n" . $traffic;
                            $fp = fopen($logfile,"w");
                            fwrite($fp,$log);
                            fclose($fp);
                            header("Location:" . $files[$file][0]);
                            }
                            else
                            {
                            include("../template/header.tpl");
                            ?><table width="100%" height="15">
                            <tr>
                            <td width="75"><h1>Downloads</h1></td>
                            <td><hr noshade size="1" /></td>
                            </tr>
                            </table><?
                            echo "<p>Es tut uns leid, aber wir k&ouml;nnen monatlich nur eine begrenzte Anzahl von Downloads zulassen, da andernfalls das Transfervolumen zu gro&szlig; wird. Versuchen Sie es entweder n&auml;chsten Monat nochmal oder laden Sie sich die ben&ouml;tigten Dateien von <a href=\"http://www2.arnes.si/~sopjsimo/gimp/stable.html\" target=\"_blank\">Jernej Simoncic's Homepage</a> (englisch) herunter.<br />\r\nVielen Dank f&uuml;r Ihr Verst&auml;ndnis.<br />\r\n</p>";
                            include("../template/footer.tpl");
                            }

                            ?>

                            Kommentar


                            • #15
                              Ich meinte dies anders:

                              PHP-Code:
                              <?php
                              // abbrechen, wenn Limit überschritten ist
                              if(limitIsUeberschritten()) {
                                  die(
                              'Limit überschritten');
                              }

                              // sonst gibt datei aus

                              // gibt an, dass eine Zip Datei zurück gegeben wird
                              header("Content-Type: application/zip");
                              // $filename gibt einen ersatznamen an, z.B. 'gimp.zip' um den realen Namen
                              // beim Speichern unter Dialog im Browser zu verstecken
                              header("Content-Disposition: inline; filename=$filename");
                              header("Content-Transfer-Encoding: binary");

                              echo 
                              implode(''file('pfad/zur/versteckten/datei/gimp.zip');

                              exit;
                              ?>
                              Wenn du die Datei jetzt sogar noch unterhalb des Document Roots ablegen kannst (manche Provider ermöglichen das), kann niemand mehr auf die Datei zugreifen, da sie nur von deinem Script zurückgegeben wird.

                              Kommentar

                              Lädt...
                              X