Gustav: Wie funktioniert das bei Facebook?

Hallo Leute,

ich mach selber nicht mit bei Facebook. Daher weißt ich leider nicht, wie das mit dem Bildupload bei denen funktioniert.

In meinen Webserverlogs finde ich aber für eines unserer Bilder immer wieder den Referer
facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)

Das Bild in mittlerer Auflösung (ca. 2MB) wird immer wieder über Facebook abgerufen. Immer mit Status 200, also neu geladen. Die IPs gehören auch alle Facebook.

Der Eigentümer der Seite macht auch kein Facebook oder so. Er hat nun nur bemängelt, dass sein monatliches Traffic-Kontingent seit einiger Zeit rapide abnimmt, obwohl er nicht mehr Anfragen bekommt.

Ich gehe also davon aus, dass jemand bei Facebook das Bild einfach referenziert hat und das nun sowohl ohne Lizenz als auch mit Trafficklau in Facebook kursiert. Ist das so einfach möglich?

BTW: kann man einen Image-Request eigentlich auch umleiten? Gemeint ist: Wenn im Browser das Image abgerufen wird und der Browser anstelle der Ressource eine Umleitung bekommt... Also NICHT, wenn einfach die Domain des Hauptrequests redirected wird.

Ich kann es gerade nicht ausprobieren. Wer kann mir da kurz helfen?

Grüße aus der Wildnis

Gustav

    1. Hallo Kay,

      danke für die Links.

      Wie müsste eine Rewrite Condition für Apache aussehen, um gezielt Anfragen auf die Ressource von mehreren bestimmten IPs umzuleiten auf eine andere Ressource?

      RewriteCond %{REMOTE_ADDR} ???  
      RewriteRule bild_1.jpg$  http://example.org/redirects/bild_1.jpg 
      

      Darf ich da für die ??? mehrere IPs nennen, oder muss ich für jede eine eigene Rewrite-Condition notieren?

      Danke nochmal
      Gustav

      1. Tach!

        RewriteCond %{REMOTE_ADDR} ???  
        RewriteRule bild_1.jpg$  http://example.org/redirects/bild_1.jpg 
        

        Darf ich da für die ??? mehrere IPs nennen, oder muss ich für jede eine eigene Rewrite-Condition notieren?

        Siehe Apache-Doku. Da gibt es ein Beispiel für eine ähnliche Aufgabenstellung.

        dedlfix.

        1. Hallo und Danke,

          aber wo genau muss ich da gucken? Ich bin leider noch im Blindflug. :-(

          Darf ich da für die ??? mehrere IPs nennen, oder muss ich für jede eine eigene Rewrite-Condition notieren?

          Siehe Apache-Doku. Da gibt es ein Beispiel für eine ähnliche Aufgabenstellung.

          Danke Gustav

          1. Tach!

            Siehe Apache-Doku. Da gibt es ein Beispiel für eine ähnliche Aufgabenstellung.

            aber wo genau muss ich da gucken? Ich bin leider noch im Blindflug. :-(

            Am Ende des verlinkten Abschnittes, kurz bevor der nächste zur Direktive RewriteEngine beginnt, ist ein Example-Abschnitt. Außerdem ist oberhalb davon die Variante mit mehreren RewriteCond zu sehen.

            Ansonsten ist der Weg zur Lösung die Aussage, dass Perl-Regex-Syntax verwendet werden kann und in dieser gibt es die Möglichkeit, Oder-Konstrukte zu bilden.

            dedlfix.

  1. Hello,

    BTW: kann man einen Image-Request eigentlich auch umleiten? Gemeint ist: Wenn im Browser das Image abgerufen wird und der Browser anstelle der Ressource eine Umleitung bekommt... Also NICHT, wenn einfach die Domain des Hauptrequests redirected wird.

    Das kann man.
    Zumindest meine diversen Browser von Museum bis FF 53.0.3 (64Bit) unterstützen die Relocation im <img>-Tag einwandfrei. Wie oft man umleiten darf, weiß ich leider nicht. Vermutlich wird das genauso oft sein, wie mit Primärrequests.

    Liebe Grüße
    Tom S.

    --
    Es gibt nichts Gutes, außer man tut es
    Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.
  2. In meinen Webserverlogs finde ich aber für eines unserer Bilder immer wieder den Referer
    facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)

    Das Bild in mittlerer Auflösung (ca. 2MB) wird immer wieder über Facebook abgerufen. Immer mit Status 200, also neu geladen. Die IPs gehören auch alle Facebook.

    Der Eigentümer der Seite macht auch kein Facebook oder so. Er hat nun nur bemängelt, dass sein monatliches Traffic-Kontingent seit einiger Zeit rapide abnimmt, obwohl er nicht mehr Anfragen bekommt.

    Dass seine Seiten weniger besucht werden, liegt sicher nicht daran, dass Facebook eines seiner Bilder zur Dekoration eines Verweises auf seine Seiten verwendet (das ist Sinn und Zweck des Abrufs durch Facebook).

    Oder meinst du, dass bei bei gleicher Anzahl Seitenabrufe das insgesamt übertragene Datenvolumen zunimmt? Ist das eindeutig auf diese eine 2 MByte große Datei zurückzuführen? Wie oft wird die denn abgerufen bzw. wie mickrig ist das Volumen bemessen?

    Ich gehe also davon aus, dass jemand bei Facebook das Bild einfach referenziert hat und das nun sowohl ohne Lizenz als auch mit Trafficklau in Facebook kursiert.

    Nein, das ist, Entschuldigung, Unsinn. Wie in der Beschreibung von Facebook, die du ja selbst zitiert hast, zu lesen ist: Facebook ruft Informationen zu einem Objekt ab, um Hinweise auf dieses Objekt innerhalb Facebooks zu dekorieren. Im Falle eines Verweises auf ein Bild handelt es sich sinnigerweise um eine kleine Vorschau. Schreibt also ein Facebook-Jünger, er habe dieses tolle Bild dort gesehen, bekommt der Empfänger dieser Empfehlung nicht nur die schnöde Adresse, sondern auch gleich eine Minivorschau angezeigt.

    Wird das Bild oft von Facebook abgerufen, bedeutet das nur, dass innerhalb Facebooks häufig bzw. über längere Zeit auf dieses Bild hingewiesen wird - das ist also im Grunde eine gute Sache.

    Mir ist nun nicht bekannt, ob man beim Anklicken in Facebook direkt zum Bild gelangt oder auf die Seite, auf der das Bild eingebettet ist (in jedem Falle "klaut" Facebook aber nicht das Bild). Du solltest prüfen, wie oft a) das Bild und b) seine Seite durch einen Verweis auf Facebook angesteuert werden, Stichwort Referer.

    kann man einen Image-Request eigentlich auch umleiten?

    Ja, aber du solltest erstmal prüfen, was eigentlich die Ursache für den hohen Datenverbrauch ist. Sind es zu häufige Abrufe durch die Facebook-Vorschau selbst, könnte statt der eigentlichen Datei eine kleine Vorschau geliefert werden; die Abhängigkeit wäre dann HTTP_USER_AGENT und facebookexternalhit.

    Wird das Bild hingegen zu oft direkt, ohne umgebende Seite, von Besuchern abgerufen, müsste man anders vorgehen. Eine Prüfung, ob die für den Bildabruf verantwortliche URL von Facebook stammt, und daraufhin gegebenenfalls eine Weiterleitung an die eigentlich umgebende Seite, liegt nahe, kann aber auch in die Hose gehen, falls die Angabe vom Browser missverständlich gesetzt wird.

    Aber wie gesagt: Erstmal prüfen, wo überhaupt die Ursache liegt. Dass Facebook großflächig gegen Bildrechte verstößt, ist es garantiert nicht.