multi: Fremdverlinkung bei Ebay verhindern ( mit htaccess )

Hallo zusammen,

bei Ebay habe ich in meinen Beschreibungstext Bilder eingefügt, die auf einem externen Webspace liegen.
Ich möchte jetzt, dass es nur meiner Auktion erlaubt ist, die Bilder vom Webspace zu laden. Niemand sonst soll die Bilder für seine Auktion laden können.

Das Problem ist, dass ich nicht weiß, wie ich die Ebay-URL:

http://cgi.ebay.de/ws/eBayISAPI.dll?viewItem&category=12345&item=1234567890

in die dritte Zeile des Quelltextes:

RewriteEngine on
       RewriteCond %{HTTP_REFERER} !^$
       RewriteCond %{HTTP_REFERER} !^http://(www.)?domain.de(/.*)?$ [NC]
       RewriteRule .(gif|jpg|png|jpeg|GIF|JPG|PNG|JPEG)$ http://www.domain.de/ersatz.gif [R,L]

einbinden soll. Habe schon einiges ausprobiert, bis jetzt aber leider ohne Erfolg.

Kann mir jemand helfen?
Danke im Voraus.

  1. Moin!

    bei Ebay habe ich in meinen Beschreibungstext Bilder eingefügt, die auf einem externen Webspace liegen.
    Ich möchte jetzt, dass es nur meiner Auktion erlaubt ist, die Bilder vom Webspace zu laden. Niemand sonst soll die Bilder für seine Auktion laden können.

    Das Problem ist, dass ich nicht weiß, wie ich die Ebay-URL:

    Das ist das Problem dabei.

    Wenn es darum gegangen wäre, generell Referrer, die deine eigene Domain nicht enthalten, auszusperren (was nicht 100% gegen Fremdverlinkung hilft, aber immerhin hinreichend genug stört, weil eben nicht 100% aller Benutzer den Referrer sperren oder "anpassen"), dann wäre das eine Lösung gewesen.

    Aber wenn du dich darauf verlassen mußt, dass ein dir unbekannter Referrer benutzt wird, dessen Merkmal "gut oder böse" einzig in der Übermittlung der korrekten ID liegt, ist solch ein Schutz ziemlich aufwendig.

    Wenn du nicht irgendein Allerweltsprodukt versteigern willst, zu dem es schon tausende Bilderkopien gibt, dann dürfte das Einbinden in fremde Auktionen sowieso uninteressant sein.

    Und du kannst deine Bilder ja beispielsweise nur für die Laufzeit deiner eigenen Versteigerung auf deinen Webspace packen - dann bringt es den anderen "Teilhabern" nämlich nichts, weil das Bild plötzlich weg ist. Oder durch "Der Versteigerer klaut seine Bilder bei ..." ersetzt werden.

    - Sven Rautenberg

    --
    Die SelfHTML-Developer sagen Dankeschön für aktuell 21335,05 Euro Spendengelder!
  2. Hallo,

    Das Problem ist, dass ich nicht weiß, wie ich die Ebay-URL:

    http://cgi.ebay.de/ws/eBayISAPI.dll?viewItem&category=12345&item=1234567890

    in die dritte Zeile des Quelltextes:

    RewriteEngine on
           RewriteCond %{HTTP_REFERER} !^$
           RewriteCond %{HTTP_REFERER} !^http://(www.)?domain.de(/.*)?$ [NC]
           RewriteRule .(gif|jpg|png|jpeg|GIF|JPG|PNG|JPEG)$ http://www.domain.de/ersatz.gif [R,L]

    einbinden soll. Habe schon einiges ausprobiert, bis jetzt aber leider ohne Erfolg.

    Es geht also nur um diese eine Auktion? Dann solltest Du doch die URL direkt einsetzten können (spezielle Zeichen maskieren). Also in etwa sowas (die Experten mögen mich korrigieren):

    RewriteCond %{HTTP_REFERER} !^http://cgi.ebay.de/ws/eBayISAPI.dll?viewItem&category=12345&item=1234567890$ [NC]

    Problematisch wird's natürlich, wenn es auch noch andere Aufrufsmöglichkeiten der Artikelbeschreibung gibt. Ich habe z. B. gerade festgestellt, daß bei meinen Ebay-Aufrufen "item" und "category" vertauscht sind, die URL also so lauteten würde:

    http://cgi.ebay.de/ws/eBayISAPI.dll?viewItem&item=1234567890&category=12345

    Das nächste Problem gibt's wenn jemand über die internationale Suche eines fremdländischen Ebays kommt. Dann sind zwar die Auktions-IDs noch gleich, aber vorne steht statt .de nun .com oder .co.uk

    Probier also insgesamt mal folgendes (die Experten mögen mich wieder korrigieren, wenn es zur Erfassung von .de , .com, .co.uk, ... einen besseren Ausdruck gibt):

    RewriteCond %{HTTP_REFERER} !^http://cgi.ebay.(.*)/ws/eBayISAPI.dll?viewItem&item=1234567890&category=12345$ [NC]

    Ich habe hier category und item bereits vertauscht, wenn Du also tatsächlich die umgekehrte Reihenfolge beobachtet hast, dann füge noch eine weitere Zeile ein, die genauso aussieht, bloß mit vertauschten Parametern (bzw. sicher ist sicher: am besten sowieso beide Varianten einfügen).

    Viele Grüße
    Carsten

    1. Moin Moin !

      Punkt 1: Wie Du selbst darstellst, ist eine eindeutige URL für den Artikel kaum zu finden. Zusätzlich zu Deinen Varianten gibt es auch noch diverse Reste (Suche) im Query-String, die für ebay selbst anscheinend irrelevant sind, aber die .htaccess-Geschichte fast unmöglich machen. Mit serverseitigen Programmiersprachen könnte man zwar den Query String noch detailierter auswerten und dann das Bild oder eine Fehlermeldung ausgeben, aber siehe Punkt zwei.

      Punkt 2: HTTP_REFERER kann beliebig "gefälscht" oder unterdrückt werden (steht 1000x im Archiv), diverse "Sicherheitsprodukte" (Personal Firewalls, Webwasher?) und diverse Browser (Opera, Mozilla?) machen das. Damit ist diese Aktion hinfällig.

      Alternativen:

      * Schriftzug ins Bild bauen (das geht mit Windows-Bordmitteln), z.B. die URL der eigenen Homepage, möglichst so, das der Schriftzug nicht entfernt werden kann, ohne das Bild unbrauchbar zu machen, aber gleichzeitig so, das vom Produkt nicht zu viel verdeckt wird.
      * das Bild bei eBay hosten lassen statt "einer Bilderservice" zu nutzen

      Alexander

      --
      Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
      1. Hallo Alexander,

        stimmt, das sind alles Dinge, an die ich in dem Augenblick nicht gedacht habe. Sicherlich gibt es noch eine Möglichkeit, die auch die gefälschten Referer noch durchläßt, bloß rechnet sich irgendwann der Aufwand für eine Geschichte, die in zehn Tagen sowieso gelaufen ist, nicht mehr...

        Wenn ein Schriftzug auf den Bildern verewigt werden soll, dann würde ich den eigenen Nutzernamen benutzen ("Auktion von xyz"). Das fällt noch eher auf als irgendeine Domain, die auch dem Traffic-Klauer gehören könnte.

        Viele Grüße
        Carsten

        PS:

        Punkt 2: HTTP_REFERER kann [...] unterdrückt werden

        Schon klar, deswegen prüft ja die erste RewriteCond, ob es überhaupt einen Referer gibt:
        RewriteCond %{HTTP_REFERER} !^$
        (oder habe ich diese Zeile jetzt falsch verstanden?)

        1. Moin Moin !

          Punkt 2: HTTP_REFERER kann [...] unterdrückt werden

          Schon klar, deswegen prüft ja die erste RewriteCond, ob es überhaupt einen Referer gibt:
          RewriteCond %{HTTP_REFERER} !^$
          (oder habe ich diese Zeile jetzt falsch verstanden?)

          Das habe ich mal stumpf ignoriert, weil der Code hier irrelevant ist.

          Was machst Du, wenn kein HTTP_REFERER kommt?

          • Verweigern? Und wenn der User mit einem paranoiden Browser / Proxy / Firewall jetzt aber von der Auktion kam, sieht er die Ware nicht. Dumm gelaufen.
          • Ausliefern? Und wenn ein Bilderdieb am Werk war? Dumm gelaufen.

          Eine Entweder-Oder-Frage, bei der beide möglichen Antworten schlecht sind. Das deutet auf einen konzeptionellen Fehler hin ...

          Alexander

          --
          Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
          Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
          1. Hallo,

            Was machst Du, wenn kein HTTP_REFERER kommt?

            • Ausliefern? Und wenn ein Bilderdieb am Werk war? Dumm gelaufen.

            Ja, auf jeden Fall ausliefern.

            Ich denke, es ist fuer einen Bilderdieb, der die
            Bilder bei sich einbauen will, abschreckend genug,
            wenn es in einem Grossteil der Browser (die den
            Referrer brav mitschicken) nicht funktioniert
            oder wenn sogar ein "Bild geklaut" Bild kommt...

            Gruesse,

            Thomas

          2. Hallo,

            RewriteCond %{HTTP_REFERER} !^$
            Was machst Du, wenn kein HTTP_REFERER kommt?

            So wie ich diese Zeile verstehe, passiert folgendes:
            Wenn kein Referer kommt, dann wird ausgeliefert.

            • Ausliefern? Und wenn ein Bilderdieb am Werk war? Dumm gelaufen.

            Es geht ja nicht um Bilderklau an sich, sondern um Traffic-Klau: das Einbinden eigener Bilder durch fremde Personen in fremde Auktionen unter Verwendung der Original-URL.
            Da ist es erstmal egal, was der Traffic-Klauer mit seinen eigenen Referer-Einstellungen zu sehen bekommt, solange die Besucher der eigenen Auktionen das richtige Bild zu sehen bekommen, die Besucher der Auktionen des Traffic-Klauers dagegen ein Austausch-Bild. Dabei ist es gar nicht notwendig, daß alle Besucher der fremden Auktion ein Austausch-Bild bekommen, es reicht vollkommen, wenn ein Teil der Besucher merkt, daß ein Traffic-Klauer am Werk ist und so noch genug schlechtes Licht geworfen wird, damit der Trafic-Klauer die Bilder wieder rauslöscht.

            Daß die Hauptschwierigkeit darin besteht, den eigenen Besuchern unabhängig von deren leeren, gefälschten oder richtigen Referern das korrekte Bild auszuliefern, hat wohl mittlerweile jeder erkannt (mich eingeschlossen), so daß man die ganze Geschichte sowieso vergessen sollte...

            Viele Grüße
            Carsten