tuennes: Problem mit Bilder-Indexierung bei Bing

Hallo,

ich hab leider folgendes Problem:

Um Bilderklau auf meiner Seite zu verhindern schütze ich mein Bilderverzeichnis per Referer-Überprüfung. D.h. es bekommen nur die Nutzer meine Bilder angezeigt, die als Referer meine php-Seiten senden. Allerdings hatte ich danach zunächst ein Problem mit den Bildersuchmaschinen, da deren Bots i.d.R. keinen Referer senden. Die von mir per mod_rewrite umgesetzte Lösung funktioniert auch bei Google sehr gut, leider aber nicht bei Bing. Eine Nachfrage beim Bing-Service ergab nur die wenig hilfreiche Standardantwort "Seite neu einreichen".

Hier ist das Fragment aus meiner .htaccess:

<Files ~ "\.(gif|jpe?g|png)$">  
ErrorDocument 403 http://www.mysite.de/images/default.jpg  
SetEnvIfNoCase Referer "^http://www.mysite.de" local_ref=1  
SetEnvIfNoCase Referer "^http://mysite.de" local_ref=1  
SetEnvIfNoCase User-Agent "^Mediapartners-Google" local_ref=1  
SetEnvIfNoCase User-Agent "^Googlebot-Image" local_ref=1  
SetEnvIfNoCase User-Agent "^msnbot" local_ref=1  
SetEnvIfNoCase User-Agent "^MSNBot" local_ref=1  
SetEnvIfNoCase User-Agent "msnbot" local_ref=1  
SetEnvIfNoCase User-Agent "^msnbot-media" local_ref=1  
Order Allow,Deny  
Allow from env=local_ref  
</Files>

Was habe ich falsch gemacht? (Wie ihr seht hab ich schon einiges für den regulären Ausdruck getestet...)

  1. <Files ~ ".(gif|jpe?g|png)$">

    ErrorDocument 403 http://www.mysite.de/images/default.jpg

    Es ist verboten das Verbotsschild zu ergattern.

    SetEnvIfNoCase Referer "^http://www.mysite.de" local_ref=1
    SetEnvIfNoCase Referer "^http://mysite.de" local_ref=1
    SetEnvIfNoCase User-Agent "^Mediapartners-Google" local_ref=1
    SetEnvIfNoCase User-Agent "^Googlebot-Image" local_ref=1
    SetEnvIfNoCase User-Agent "^msnbot" local_ref=1
    SetEnvIfNoCase User-Agent "^MSNBot" local_ref=1
    SetEnvIfNoCase User-Agent "msnbot" local_ref=1
    SetEnvIfNoCase User-Agent "^msnbot-media" local_ref=1
    Order Allow,Deny
    Allow from env=local_ref
    </Files>

    
    >   
    > Was habe ich falsch gemacht?  
      
    Du verbietest leere Referrer. Das wird dir in Zukunft viele Sorgen bereiten.  
    Du verbietest fremde Sites im Referrer. Das wird dir in Zukunft auch sorgen bereiten, weil du es dir selbst auch verbietest, in einem Forum ein Bild von deiner Site zu posten.  
    Wenn du wirklich ein Problem mit Hotlinking hast, dann erstelle die Regeln auf bedarf auf notorische Referrer-Sites.  
      
    mfg Beat
    
    -- 
    
    ><o(((°>           ><o(((°>  
    
       <°)))o><                     ><o(((°>o  
    Der Valigator leibt diese Fische
    
    1. Hallo,

      ErrorDocument 403 http://www.mysite.de/images/default.jpg
      Es ist verboten das Verbotsschild zu ergattern.

      Nein, das stimmt IMHO schon.
      Er definiert hier, welche Datei als Inhalt der Statusmeldung 403
      geschickt wird, eben das Verbotsschild.
      Siehe Apache 2.2 Documentation: ErrorDocument Directive

      Du verbietest leere Referrer. Das wird dir in Zukunft viele Sorgen bereiten.

      Einverstanden.

      Du verbietest fremde Sites im Referrer. Das wird dir in Zukunft auch sorgen bereiten, weil du es dir selbst auch verbietest, in einem Forum ein Bild von deiner Site zu posten.

      Naja, ob er das je tun will? Sonst ist das kein Problem.

      Das Hotlinking betrifft ja vermutlich eine bestimmte Gattung von Bildern
      wie besonders schöne Fotos, lustige Bilder (Funpix) u.s.w.
      Man könnte alle diese Bilder in ein bestimmtes Verzeichnis legen
      und eben in diesem Verzeichnis das Hotlinking/Einbetten unterdrücken,
      indem man fremde Referrer grundsätzlich verbietet.

      Bilder, die man (selbst) in Foren u.s.w. verwenden will, kann man
      in ein anderes Verzeichnis legen, welches keine Einschränkungen hat.

      Wenn du wirklich ein Problem mit Hotlinking hast, dann erstelle die Regeln auf bedarf auf notorische Referrer-Sites.

      Das ist natürlich auch eine Möglichkeit.
      In meinem Beispiel vorhin hatte ich übrigens noch vergessen,
      dass beim Apachen oft nötig ist, die RewriteEngine explizit
      einzuschalten, siehe erste Zeile im folgenden Beispiel:

      RewriteEngine on

      RewriteCond %{HTTP_REFERER} ^http://beepworld.de/.*$ [NC]
      RewriteCond %{HTTP_REFERER} ^http://www.beepworld.de/.*$ [NC]
      ReWriteRule .*.(gif|jpg|jpeg)$  http://www.example.com/geklaut_beep.gif [L]

      D.h. wenn der Referrer beepworld.de ist, wird ein nettes Stopschild-Bildchen
      ausgeliefert, auf dem beispielsweise stehen kann: "Beepworld ist doof." ;-)

      mfg, Thomas

      1. Vielen Dank für die Antworten.

        Ich werde nochmal über diese leere Referrer-Geschichte nachdenken.

        Aber irgendwie gehen die Antworten ein bisschen an meiner Frage vorbei. Dass die Suchmaschinen-Bots keinen Referrer senden, wusste ich ja vorher schon. Ich hab mir das auch eigentlich gründlich überlegt, ob ich den leeren Referrer verbiete. Leider leidet meine Site nicht nur unter Traffic-Klau aus Foren, sondern es gibt auch einige Tools, die meine Datenbank anzapfen und dann die Bilder klauen. Und denen möchte ich es nicht noch unnötig einfach machen.

        Es muss doch auch möglich sein, den leeren Referrer zu sperren, aber für bestimmte Klienten den Zugang wieder zu erlauben. Wie gesagt, bei Google hat das sehr gut funktioniert. Nur bei Bing bekomme ich das nicht hin. Komischerweise funktioniert die .htaccess wie gewünscht, wenn ich meinem Browser (via Plugin) den Namen eines Suchmaschinenbots gebe. - Hilfe!

        1. Ich werde nochmal über diese leere Referrer-Geschichte nachdenken.
          Aber irgendwie gehen die Antworten ein bisschen an meiner Frage vorbei. Dass die Suchmaschinen-Bots keinen Referrer senden, wusste ich ja vorher schon. Ich hab mir das auch eigentlich gründlich überlegt, ob ich den leeren Referrer verbiete. Leider leidet meine Site nicht nur unter Traffic-Klau aus Foren, sondern es gibt auch einige Tools, die meine Datenbank anzapfen und dann die Bilder klauen. Und denen möchte ich es nicht noch unnötig einfach machen.

          Wenn du ein Traffic-Problem hast, dann solltest du den Bots das indexieren von Bildern in robots.txt und .htaccess untersagen.
          Google hat seinen speziellen UA google-images.

          Bilder-Hotlinking wird vermehrt verursacht durch das Angebot in Google-Bildersuche. Stelle dieses Angebot zuerst ab.

          Es muss doch auch möglich sein, den leeren Referrer zu sperren, aber für bestimmte Klienten den Zugang wieder zu erlauben.

          Du kannst natürlich ein Cookie setzen (dynamische Seiten vorausgesetzt), und bei einem Zugriff auf ein Bild auf das Vorhandensein des Cookies testen.

          mfg Beat

          --
          ><o(((°>           ><o(((°>
             <°)))o><                     ><o(((°>o
          Der Valigator leibt diese Fische
          1. Äh... Beat...

            Hast du meinen Beitrag ganz gelesen? ;-) - Bilderindexierung in Google und Bing will ich natürlich haben. Wenn nicht, wäre die Sache ja ganz einfach...

            Wie gesagt: In Bing sehe ich nur meine "direkter Zugriff verboten"-Grafik. In Google die richtigen Bilder. Und ich hab keine Ahnung warum...

  2. hi,

    Um Bilderklau auf meiner Seite zu verhindern schütze ich mein Bilderverzeichnis per Referer-Überprüfung. D.h. es bekommen nur die Nutzer meine Bilder angezeigt, die als Referer meine php-Seiten senden. Allerdings hatte ich danach zunächst ein Problem mit den Bildersuchmaschinen, da deren Bots i.d.R. keinen Referer senden.

    STOP! Hier hast Du doch was Du brauchst in Deiner Bedingung: Entweder einen passenden Referrer oder keinen =>

    #SetEnvIfNoCase Referer ^$       local_ref=1
    #SetEnvIfNoCase Referer example local_ref=1

    Hotti

  3. Hallo,

    Was habe ich falsch gemacht?

    Das hier:

    D.h. es bekommen nur die Nutzer meine Bilder angezeigt, die als Referer meine php-Seiten senden.

    Bei einem direkten Aufruf des Bildes, bei absichtlich unterdrücktem Referrer,
    und vermutlich auch, wenn der Bing-Bot die Bilder aufruft,  ist der Referrer
    _leer_.

    In diesem Fall schickst Du aber auch Dein Ersatz-Bild mit einem 403er.

    Du solltest die Regeln so anpassen, dass auch bei einem leeren Referrer
    das richtige Bild geschickt wird, und nur bei einem _falschen_ Referrer
    (d.h. ausserhalb Deiner Domain) das Ersatzbild mit 403.

    Ich habe gegen Bilderklau (insbesondere durch beepworld-Kiddies)
    folgendes im Einsatz:

    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://example.com/.*$     [NC]
    RewriteCond %{HTTP_REFERER} !^http://www.example.com/.*$ [NC]
    ReWriteRule .*.(gif|jpg|jpeg)$  http://www.example.com/geklaut.gif [L]

    D.h. wenn der Referrer nicht leer ist (Zeile 1) oder mit meiner Domain
    beginnt (Zeilen 2 + 3) wird ein Ersatz-Bild angezeigt.

    HTH, mfg, Thomas

  4. Om nah hoo pez nyeetz,

    Ich bin richtig erstaunt, dass es das Wort "Indexierung" tatsächlich gibt. Heißt denn der Plural von Index jetzt auch Indexe?
    Genau wie der Singular von Eidechse Eidechs ist?

    Aber Sprache lebt, so hat sich zum Beispiel auch das Editieren eingeschlichen.

    Matthias

    --
    1. Hallo,

      Ich bin richtig erstaunt, dass es das Wort "Indexierung" tatsächlich gibt.

      das ist naheliegend, weil es auch für den Begriff "Index" mittlerweile zwei deutlich unterschiedliche Bedeutungen gibt (eigentlich drei).

      1. Index im Sinne von "Zeiger"
      Ursprünglich aus Mathematik und Naturwissenschaft, dann in vielen Programmiersprachen übernommen, ist dieser "Index" ein skalarer, meist numerischer Wert, der genau *ein* Element aus einer Menge, z.B. einem Array, auswählt.
      Plural: Indices
      Verb:   indizieren

      2. Index im Sinne von "Verzeichnis"
      In Fachbüchern, Katalogen und ähnlichen Werken ist es durchaus üblich, ein Stichwortverzeichnis als "Index" zu bezeichnen; analog dazu wird in Datenbanken gern eine Hilfsdatei gebildet, die den Zugriff auf die eigentlichen Daten beschleunigen soll.
      Plural: Indexe
      Verb:   indexieren

      3. Index als Liste verbotener Werke
      Wo dieser Gebrauch des Wortes "Index" herkommt, ist mir schleierhaft; es ist aber bei Büchern/Filmen/Spielen, deren Verkauf besonderen Beschränkungen unterliegt (nur an Erwachsene), durchaus üblich zu sagen, das Buch/Spiel "sei auf dem Index".
      Plural: ?
      Verb:   ?

      Genau wie der Singular von Eidechse Eidechs ist?

      *g* Den kannte ich noch nicht! ;-)

      Aber Sprache lebt, so hat sich zum Beispiel auch das Editieren eingeschlichen.

      Naja, das ist ja nur eine Adaption des englischen Begriffs "edit", also überarbeiten oder bearbeiten.

      So long,
       Martin

      --
      "Hier steht, deutsche Wissenschaftler hätten es im Experiment geschafft, die Lichtgeschwindigkeit auf wenige Zentimeter pro Sekunde zu verringern." - "Toll. Steht da auch, wie sie es gemacht haben?" - "Sie haben den Lichtstrahl durch eine Behörde geleitet."
      1. Ich persönlich halte "Indexierung" auch eigentlich für falsch, benutze es aber trotzdem, da mir die Abgrenzung zur umgangssprachlichen Bedeutung von "Indizierung" wichtig war. Ich wollte Missverständnisse vermeiden.

        Das "Editieren" vom englischen "edit" kommt, ist klar. Aber eigentlich müsste es "Edieren" heißen. Sprache lebt tatsächlich. So was wächst sich raus... :-)

        1. Hi,

          Das "Editieren" vom englischen "edit" kommt, ist klar. Aber eigentlich müsste es "Edieren" heißen.

          hab ich auch schon gelesen - aber wie kommt man darauf?
          Die Ableitung läuft doch ganz analog zu
            profit -> profit-ieren
            audit  -> autit-ieren
            format -> format-ieren
          Die Endsilbe des ursprünglichen Wortes bleibt bei allen Beispielen erhalten und wird nicht abgeschnitten. Also konsequent auch
            edit   -> edit-ieren

          Sicher lassen sich auch Beispiele finden, in denen das anders ist. Ich wollte auch nur zeigen, dass das "editieren" kein Sonderfall ist, sondern viele grammatikalische Verwandte hat.

          Sprache lebt tatsächlich. So was wächst sich raus... :-)

          Sonst hätten wir Wörter wie "editieren" auch noch lange nicht in unserem lokalen Wortschatz.

          So long,
           Martin

          --
          Die letzten Worte des Hardware-Bastlers:
          Das Netzkabel lass ich wegen der Erdung lieber dran.
          1. Hallo Martin!

            Sprache lebt tatsächlich. So was wächst sich raus... :-)

            Die deutsche Sprache ist aber dabei, so zu leben, dass künftige Generationen die Herkunft der Wörter gar nicht wird nachvollziehen können oder Murks in anderen Sprachen (z.B. englisch, französisch) erzählen wird.

            So heißt es für mich immer noch »AdapTAtion«, und »SpezifiZItät«, egal was sich hier seit wenigen Jahren einge»lebt« hat.

            Viele Grüße aus Frankfurt/Main,
            Patrick

            --
            _ - jenseits vom delirium - _

               Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
            Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?
            1. Om nah hoo pez nyeetz,

              editor und edieren kommt aus dem Lateinischen.

              Matthias

              --
              1. Hallo apsel!

                editor und edieren kommt aus dem Lateinischen.

                »edieren« mit Sicherheit nicht.

                Aber auch im Deutschen ist es absurd: Wenn »ieren« die Endung zum Formen mancher Verben ist, was bleibt dann als Wurzel?

                ... Ed !

                Also würde »edieren« heißen: mach etwas mit Ed (was, bleibt Dir und Deinen Äffinitäten überlassen) ;)

                Viele Grüße aus Frankfurt/Main,
                Patrick

                --
                _ - jenseits vom delirium - _

                   Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
                Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?
                1. Hallo

                  Also würde »edieren« heißen: mach etwas mit Ed (was, bleibt Dir und Deinen Äffinitäten überlassen) ;)

                  Unterhielt man sich nicht mit ihm?

                  Tschö, Auge

                  --
                  Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
                  Terry Pratchett, "Wachen! Wachen!"
                  Veranstaltungsdatenbank Vdb 0.3
                2. Hallo,

                  editor und edieren kommt aus dem Lateinischen.
                  »edieren« mit Sicherheit nicht.

                  nein, das nicht. ;-)

                  Aber auch im Deutschen ist es absurd: Wenn »ieren« die Endung zum Formen mancher Verben ist, was bleibt dann als Wurzel?
                  ... Ed !

                  Und das ist gar nicht so weit von der Wahrheit weg: Die ursprüngliche Wortherkunft ist nämlich das lateinische "edere", was lustigerweise sowohl "herausgeben" als auch "essen" bedeuten kann.
                  "Edit" ist dann die 3. Person Singular: Er isst, bzw. Er gibt heraus.

                  Vom lateinischen Wortursprung her wäre also "edieren" als Infinitiv eigentlich logischer. Keine Ahnung, warum sich bei der Assimilation ins Englische das "-it" auch schon im Infinitiv eingeschlichen hat. Tatsache ist aber, dass bei der Verwendung im Deutschen "editieren" die übliche Form ist, und dass es einige ähnliche Fälle gibt.

                  So long,
                   Martin

                  --
                  Most experts agree: Any feature of a program that you can't turn off if you want to, is a bug.
                  Except with Microsoft, where it is just the other way round.
                  1. Om nah hoo pez nyeetz,

                    So long,
                    Martin

                    »»

                    sicher mit Latein LK.

                    Matthias

                    --
                    1. Hallo,

                      sicher mit Latein LK.

                      nope, weder großes noch kleines Latrinum. Nicht einmal überhaupt regulären Lateinunterricht gehabt.
                      Aber ich habe generell ein Interesse an Sprachen (auch schon zur Schulzeit gehabt). Und nur aus reiner Neugier habe ich ein Jahr lang Latein als AG mitgemacht, um wenigstens einen grundlegenden Einblick in die Sprache zu bekommen. Aber halt ohne Lernzwang und ohne Noten, da klappt das gleich viel besser, weil entspannter. :-)

                      Ciao,
                       Martin

                      --
                      Disziplin: Teppichböden wiederfinden, wenn man sie verlegt hat.
        2. [latex]Mae  govannen![/latex]

          Ich persönlich halte "Indexierung" auch eigentlich für falsch, benutze es aber trotzdem, da mir die Abgrenzung zur umgangssprachlichen Bedeutung von "Indizierung" wichtig war. Ich wollte Missverständnisse vermeiden.

          Das "Editieren" vom englischen "edit" kommt, ist klar. Aber eigentlich müsste es "Edieren" heißen.

          OMG, DPK lebt :)

          Cü,

          Kai

          --
          Even if you are a master of jQuery, you can only create mediocre (at best)
          scripts. The problem is that the authors you rely on have not mastered the
          DOM themselves. It's like one blind guy leading another off a cliff (D.Mark/clj)
          Foren-Stylesheet Site Selfzeug JS-Lookup
          SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?
          1. OMG, DPK lebt :)

            Hey. Keine haltlosen Verdächtigungen... ;)