Roger: Dateidownload durch fremde Homepages unterbinden

moin!

ein freund von mir hat probleme mit seinem traffic, da viele verschiedene seiten auf seine downloads (kleine fussballfilmchen) verweisen. jetzt möchte er das gern kompensieren. dass also nur noch leute, die auf seiner homepage sind auch seine filme downloaden können. nur wie? gibt es da möglichkeiten?
per php den refferer auslesen ist vielleicht ne möglichkeit, aber wohl nicht die sicherste ;) wahrscheinlich werden dann die leute angekackt, die auf seiner seite sind aber hinter nem proxy sitzen...
hat jemand ne idee?

gruß.
roger.

--
Dein eigenes Newslettersystem auf deiner Homepage: http://newsletter.maennchen1.de
  1. Hello,

    das geht dann z.B. mittels Sessions in verschiedenen Schwierigkeitsgraden.
    Ggf. müssten sich die User autentifizieren.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. moin!

      es sollte ohne authentifizierung ablaufen (hatte ich vergessen anzugeben).

      gruß.
      roger.

      --
      Dein eigenes Newslettersystem auf deiner Homepage: http://newsletter.maennchen1.de
      1. Hello,

        es sollte ohne authentifizierung ablaufen (hatte ich vergessen anzugeben).

        Du kannst aber trotzdem mit Sessions arbeiten.
        Du eröffnest eben beim Betreten der Seite eine Session und lässt die Filmchen nur dann ausliefern, wenn diese Session auch existiert. Anderenfalls wird ein Ersatzbild/-film ausgeliefert, damit der Fake nicht glaich auffällt.

        Aus dem marketingaspekt heraus ist diese Vorgehensweise natürlich falsch, denn Publikation dient ja der Kontaktherstellung. Da würde ich eher mal eine Marketing-Beratung empfehlen. Ich will hier nun nicht schon wieder in den Verdacht der Werbung geraten. Deshalb such einfach mal im Internt nach M
        Marketing-Beratung.

        Traffic-Probleme sind nämlich Gold wert.

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        1. Hello Roger,

          Du kannst aber trotzdem mit Sessions arbeiten.

          dabei möchte ich nachdrücklich zu dem geäußertem "kannst" bemerken, es erschwert ein wenig direkte Links auf die Dateiquelle; aber nicht soweit, daß man mit einem Iframe und einem JavaScript das ganze für den Normaluser unmerklich ablaufen lassen könnte.

          Ich würde fast eine JavaScriptlösung für effizinter halten. Dabei werden die Links beim Laden des Dokuments (document.write) aus einem String "geparst" werden. Als Beispiel:

          <script type="text/javascript">
          Estonian = new Array(114,
          7,8,104,54,181,84,227,73,3,109,
          157,209,108,236,214,140,98,142,7,111,
          42,77,66,57,59,171,0,243,67,1,
          41,159,218,119,244,201,196,112,131,2,
          125,57,65,17,108,57,249,7,242,73,
          1,96,147,209,108,237,150,220,97,239,
          25,99,45,4,92,109,63,249,13,189,
          9,6,42,129,157,97,239,221,135,97,
          144,90,98,58,2,16,59);
          bumbles = new Array(78,
          111,124,5,90,139,104,129,38,103,20,
          189,178,3,128,185,254,95,172,117,10
          );
          Janus = 88;
          invalidating = 21;
          var pervades = "";
          for(pop = 0; pop < Janus; pop++)
            pervades = pervades + String.fromCharCode(Estonian[pop] ^ bumbles[pop % invalidating]);
          document.write(pervades);
          </script>

          Gruß aus Berlin!
          eddi

          1. Hello,

            dabei möchte ich nachdrücklich zu dem geäußertem "kannst" bemerken, es erschwert ein wenig direkte Links auf die Dateiquelle; aber nicht soweit, daß man mit einem Iframe und einem JavaScript das ganze für den Normaluser unmerklich ablaufen lassen könnte.

            Ich würde fast eine JavaScriptlösung für effizinter halten. Dabei werden die Links beim Laden des Dokuments (document.write) aus einem String "geparst" werden. Als Beispiel:

            Das ist im Prinzip natürlich eine gute Idee, sperrt aber wieder diejenigen aus, die keij JavaScript benutzen. Da aber auch die meisten Grabber-Server kein JavaScript auswerten, hat man die dann auch effektiv ausgesperrt.

            Aber Aussperrung ist als solches immer der falsche Weg. Man sollte das positiv nutzen und noch Geld damit verdienen, dass der traffic ständig wächst.

            Harzliche Grüße aus http://www.annerschbarrich.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau
            1. Moin Tom :)

              Das ist im Prinzip natürlich eine gute Idee, sperrt aber wieder diejenigen aus, die keij JavaScript benutzen. Da aber auch die meisten Grabber-Server kein JavaScript auswerten, hat man die dann auch effektiv ausgesperrt.

              Aber Aussperrung ist als solches immer der falsche Weg. Man sollte das positiv nutzen und noch Geld damit verdienen, dass der traffic ständig wächst.

              Das ist leider die, fast schon als pervers zu bezeichnende, Tragik JavaScripts :(

              In dem Sinne ist wahrscheinlich die Bitte an die Betreiber der einzelnen Webs, die Videoclips nicht zu referenzieren sondern vom eigenen Space zu servieren, unter Angabe der Traffickostenfalle, die menschlich naheliegenste und womöglich auch die vielversprechenste Lösung.

              Gruß aus Berlin!
              eddi

              1. Hello,

                In dem Sinne ist wahrscheinlich die Bitte an die Betreiber der einzelnen Webs, die Videoclips nicht zu referenzieren sondern vom eigenen Space zu servieren, unter Angabe der Traffickostenfalle, die menschlich naheliegenste und womöglich auch die vielversprechenste Lösung.

                Nee, die beste Lösung ist es, den Traffic durch zusätzliche Maßnahmen weiter zu steigern und ihn sinnvoll für den Broterwerb nutzbar zu machen. Die Verfahren dafür sind aber nicht ganz einfach. Man muss auch ein paar gute Kontakte haben. Aber es klappt dann.

                Man darf auch keine Angst davor haben, dass man eben mit dem Internet auch Geld verdienen kann. das hat nichts mit ungebremstem Kommerz zu tun, sondern einfach mit der passenden Information am passenden Ort zur passenden Zeit. Und dann wird auch niemand kolonisiert oder genötigt. Wir hatten das Thema hier gerade, weil ich öfter "Geld" gerufen habe. Aber ich bin der Meinung, dass man es zu gegebener Zeit durchaus auch verlangen darf. Solange die Informationsfreiheit daurch nicht gemindert, sondern sogar gesteigert wird, muss sich wohl auch niemand beklagen.

                Harzliche Grüße aus http://www.annerschbarrich.de

                Tom

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau
              2. moin!

                In dem Sinne ist wahrscheinlich die Bitte an die Betreiber der einzelnen Webs, die Videoclips nicht zu referenzieren sondern vom eigenen Space zu servieren, unter Angabe der Traffickostenfalle, die menschlich naheliegenste und womöglich auch die vielversprechenste Lösung.

                die allerdings nichts brachte. auch wenn man 14-jährige nett bittet, bekommt man nicht immer unbedingt eine nette antwort...

                gruß.
                roger.

                --
                Dein eigenes Newslettersystem auf deiner Homepage: http://newsletter.maennchen1.de
  2. hallo roger

    ein freund von mir hat probleme mit seinem traffic, da viele verschiedene seiten auf seine downloads (kleine fussballfilmchen) verweisen. jetzt möchte er das gern kompensieren. dass also nur noch leute, die auf seiner homepage sind auch seine filme downloaden können. nur wie? gibt es da möglichkeiten?

    das ist wohl am besten über eine serverdirektive zu lösen
    fang mal da an http://httpd.apache.org/docs-2.0/mod/mod_setenvif.html#setenvif

    karl :-)´

  3. Hello Roger,

    ich habe gerade noch eine besser Idee ausgegraben aus meinen tausenden von slpeenigen Scripten:

    Die selbstlöschende Datei.

    Das ist ne geile Sache. Da kann man jede Datei nur einmal aufrufen und gut sits. das fordert natürlich den Server ganz schön stark, aber das wird ja (noch nicht) nicht berechnet. Ist also eine Art von Gegenwehr gegen die Traffic-Berechnung.

    Man muss aber .htaccess-Rechte haben um das Parsen von *.jpg und *.gif Dateien etc. veranlöassen zu können.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. moin!

      hm, ich glaub die session geschichte is da schon besser. die dateien sollen ja nicht nur einmal zum download angeboten werden, sondern eben öf´ters. und dann nur von einer url aus.

      gruß.
      roger.

      --
      Dein eigenes Newslettersystem auf deiner Homepage: http://newsletter.maennchen1.de
      1. Hello,

        hm, ich glaub die session geschichte is da schon besser. die dateien sollen ja nicht nur einmal zum download angeboten werden, sondern eben öf´ters. und dann nur von einer url aus.

        Da hast Du mich nicht verstanden.

        Die Stammseite ist eine (verkappte) PHP-Seite. In der Srtammseite stehen die Embeddings und/oder die <img src> für die Bilder und Filme.

        Nun stehen die aber nicht mehr so einfach drin, sondern mit

        <?php echo make_link('embed', $filmdateiname); ?>

        Die Funktion make_link() produziert nun eine Aufrufdatei für das Bild oder den Film auf der Platte und gibt den zufälligen Namen dafür zurück. Das Script heißt aber auch nur "238dlk82ßtu.jpg" und liegt in einem Verzeichnis, in dem alle Dateien durch den PHP-Parser gescheucht werden.

        in dem generierten Script wird die angeforderte Ressource ausgeliefert und das Script löscht sich am Ende selbst. Damit ist es einzeln nur einmal aufrufbar und zwar genau von dem Client, der durch seinen Request auf die Hauptdatei die Erstellung initiiert hat.

        Es sind keine Sessions, keine Cookies, keine geheimen Kennungen erforderlich, nur ein Server mit einem Verzeichnis, in dem ALLE Scripte geparst werden und ein wenig Kenntnis über die http-header.

        Damit sich da nicht zuviel Müll ansammelt mit der Zeit, sollten die älteren dieser kleinen Trickscripte gelegentlich mittels Kontrolle des Erzeugungsdatums gelöscht werden.

        Konntest Du mir folgen?

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        1. moin!

          Konntest Du mir folgen?

          ja, konnte ich. :D
          klingt interessant. zeig mal :)

          gruß.
          roger.

          --
          Dein eigenes Newslettersystem auf deiner Homepage: http://newsletter.maennchen1.de
          1. Hello,

            Konntest Du mir folgen?

            ja, konnte ich. :D
            klingt interessant. zeig mal :)

            Wie "zeig mal"? willst Du ein fertiges Script? Das gibts hier nicht. Ich habe Dir ja die bauanleitung gegeben. das fertige Script erwarten wir nun von Dir hier als Erfolgsbericht zu lesen.

            Harzliche Grüße aus http://www.annerschbarrich.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau
            1. moin!

              :p

              kk, ich setz mich mal dran.

              gruß.
              roger.

              --
              Dein eigenes Newslettersystem auf deiner Homepage: http://newsletter.maennchen1.de
              1. Hello,

                :p

                kk, ich setz mich mal dran.

                Wenn es Fragen oder Probleme gibt, stehen wir Dir sicher gerne zur Verfügung. Ich auf jeden Fall.

                Man benötigt dafür auch überhaupt nicht viele Zeilen.

                Eine Funktion, die den Mime-Type der angeforderten Ressource und deren Existenz zuverlässig ermittelt (neuere PHPs habe die schon eingebaut), eine Funktion, die einen genügentd langen Namen auswürfelt und eine, die dann die Ressource ausliefert. Und dann noch eine, die aus diesen Basisfunktionen ein Script zusammenstellt, dass am Ende

                unset(__FILE__);

                drinstehen hat.

                Harzliche Grüße aus http://www.annerschbarrich.de

                Tom

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau
                1. Hello,

                  unset(__FILE__);

                  Tschuldigung, das musst natürlich unlink(__FILE__) heißen

                  Harzliche Grüße aus http://www.annerschbarrich.de

                  Tom

                  --
                  Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                  Nur selber lernen macht schlau
  4. Hallo!

    per php den refferer auslesen ist vielleicht ne möglichkeit, aber wohl nicht die sicherste ;) wahrscheinlich werden dann die leute angekackt, die auf seiner seite sind aber hinter nem proxy sitzen...

    hat jemand ne idee?

    Es geht leider nicht - so einfach ist das. Der einzige wirksame Schutz wäre wohl eine Authentifizierung auf HTTP-Ebene, aber das ist ja anscheinend nicht gewünscht. Dann bleiben nur die paar bekannten Tricks, die zum einen umgangen werden können und auf der anderen Seite evtl. aus Versehen "berechtigte" Anwender treffen.

    Mir würden da spontan 2 Sachen einfallen:

    1. nur gültige Referrer akzeptieren (entweder Referer von Deiner Seite oder gar keiner):
    http://httpd.apache.org/docs-2.0/misc/rewriteguide.html#access -> "Blocked Inline-Images"

    Das sollte eigentlich normale Anwender nicht stören.

    2. per Cookie, also jedem User auf einer HTML-Seite einen Cookie verpassen, und vor der Auslieferung eines Videos prüfen ob der Cookie vorhanden ist. Das sollte eigentlich auch mit einer Rewrite-Rule funktionieren, indem Du den Inhalt von "HTTP_COOKIE" auf das Vorkommen eines bestimmten Strings untersuchst.

    Dann funktioniert der Download von Videos allerdings nur noch mit Cookies, und wenn man den Cookie löscht funktioniert es ebenfalls erst wieder, wenn man einen neuen bekommt.

    Es kommt ein bisschen auf den Einzelfall an was jetzt Sinn macht, aber ich denke dass sowas durchaus alltagstauglich ist. Vor allem in so einem Fall. Wenn man sowas umgehen will, muss die Anfrage entweder über einen Proxy des "Verlinkers" laufen - was in diesem Fall wohl sehr dämlich wäre, oder man müsste Einstellungen im Browser ändern (Referrer fälschen/unterdrücken, bzw. fremden Cookie "einschleusen", oder beschreiben wie man den Cookie von Deiner Seite bekommt). Jedenfalls funktioniert das "einfache Verlinken" sicher in 99% der Fälle nicht mehr, somit macht es nur noch wenig Sinn.

    Eine "schönere" Lösung kenne ich leider nicht.

    Grüße
    Andreas

    PS: Ich bin jetzt einfach mal vom Apachen ausgegangen ;-)

    --
    SELFHTML Linkverzeichnis: http://aktuell.de.selfhtml.org/links/
    1. moin!

      deswegen find ich ja die sache mit den sessions, die tom bereits erwähnte nicht schlecht. ist im prinzip das selbe ;)
      meinem freund gehts ja darum, leute davon abzuhalten die dateidownloads zu klauen. und das machen die in erster linie indem die angeben "hier ist unser video, saugt es euch" und verlinken damit dann auf eine fremde seite (die meines freundes). wenn nun jemand die datei downloaden will, nachdem der "schutzmechanismus" installiert wurde, soll er machen. zumindest wird erst mal die große masse außen vor gelassen. und das ist zunächst das ziel.

      gruß.
      roger.

      --
      Dein eigenes Newslettersystem auf deiner Homepage: http://newsletter.maennchen1.de
      1. Hi!

        meinem freund gehts ja darum, leute davon abzuhalten die dateidownloads zu klauen. und das machen die in erster linie indem die angeben "hier ist unser video, saugt es euch" und verlinken damit dann auf eine fremde seite (die meines freundes). wenn nun jemand die datei downloaden will, nachdem der "schutzmechanismus" installiert wurde, soll er machen. zumindest wird erst mal die große masse außen vor gelassen. und das ist zunächst das ziel.

        In diesem Fall würde ich es auf jeden Fall mal mit der Referrer-Variante versuchen, nur über eine .htaccess, ganz ohne Scriptsprache.

        In den meisten Fällen sollte das reichen. Das Beispiel aus der Apache-Doku zeigt genau wie (einfach) das geht.

        Grüße
        Andreas

        --
        SELFHTML Linkverzeichnis: http://aktuell.de.selfhtml.org/links/
        1. Hello,

          In diesem Fall würde ich es auf jeden Fall mal mit der Referrer-Variante versuchen, nur über eine .htaccess, ganz ohne Scriptsprache.

          In den meisten Fällen sollte das reichen. Das Beispiel aus der Apache-Doku zeigt genau wie (einfach) das geht.

          Ungefähr 30% meiner Besucher schicken keinen Referrer mit. Dann könnten die alle die Seite nicht vernünftig sehen und das wäre doch schade.

          Die einzige Lösung ohne Referrer, Cookies, oder ähnliches ist tatsächlich die mit den selbstlöschenden Referenzen. Man muss nur die Hauptdatei immer neu laden lassen (Caching unterdrücken lassen), damit die Referenzen bei jedem Aufruf neu erzeugt werden.

          Harzliche Grüße aus http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          1. Hi!

            In den meisten Fällen sollte das reichen. Das Beispiel aus der Apache-Doku zeigt genau wie (einfach) das geht.

            Ungefähr 30% meiner Besucher schicken keinen Referrer mit. Dann könnten die alle die Seite nicht vernünftig sehen und das wäre doch schade.

            Auch die können das sehen, da leere Referrer auch akzeptiert werden. Ich kenne keinen weit verbreiteten Browser, der bei einem Klick auf einen Link (nicht SSL) standardmäßig keinen Referrer sendet. Referrer fehlen, bei direkten Aufrufen, bei Bookmarks, wenn der User seinen UA entsprechend konfiguriert (ist meist nicht ganz so einfach wie z.B. Cookies deaktivieren) oder wenn eine Software diesen auf den Weg zum Server rausfiltert (das machen vermutliche einige "Möchtegernhochsicherheitsprodukte"). Ich würde es zumindest versuchen weil es das einfachste ist.

            Grüße
            Andreas

            --
            SELFHTML Linkverzeichnis: http://aktuell.de.selfhtml.org/links/