Image Hotlinking verhindern ohne Host zu kennen...

Dieses Thema im Forum "Server Administration" wurde erstellt von Djsammy, 18. Okt. 2009.

  1. Djsammy

    Djsammy New Member

    Hallo,

    ich habe das Problem, dass Bilder meiner Server auf eBay zu finden sind und dann nicht gerade wenig.
    Jetzt möchte ich dagegen vor gehen und ein leeres Bild anzeigen.
    Da ich jedoch 10 Domains habe und ich nicht immer die Domains umschreiben will, bin ich auf der Suche nach einer globalen Lösung, die funktioniert.

    Folgende Code habe ich schon getestet, aber leider ohne Erfolg. Vllt. könnt ihr mir hier Helfen!
    PHP:
    <IfModule mod_rewrite.c>
      
    Options +FollowSymLinks
      RewriteEngine On
     
     
    # If no www. is found, write it at the front!
      
    RewriteCond %{HTTP_HOST} !^www\.
      
    RewriteRule ^http://www.%{HTTP_HOST}%{REQUEST_URI}?%{QUERY_STRING} [R=301]

     # Show Pictures only at this server!
      
    RewriteCond %{HTTP_REFERER} !^$
      
    RewriteCond %{HTTP_REFERER} !%{HTTP_HOST} [NC]
      
    # Only this image can show everywhere
      
    RewriteCond %{REQUEST_FILENAME}  !/nohotlinking\.png$ [NC
      
    # All images of this folder can linked and used on other servers
      
    RewriteCond %{REQUEST_URI}  !/images/banner/link_us/ [NC
      
    RewriteRule \.(swf|bmp|gif|jpg|jpe|jepg|png|jpeg|avi|mov|wmv|mpg|mpeg|wav|mp3)$ http://%{HTTP_HOST}/images/nohotlinking.png [NC,R,L]
    </IfModule>
    Mein erster Versuch mit Mod_Rewrite.
    In der zweiten Zeile im zweiten Block möchte ich die simple abfrage gestallten, wenn der Referrer nicht den Host enthält darf er die Bilder nicht anzeigen. Dieser Code funktioniert nur dann, wenn ich anstatt HOST meine Domain eingebe. Genau das möchte ich verhindern, da ich schon 10 Domains habe und noch einige dazu kommen.
    Ich glaube, dass mir HOST nicht den Wert zurück gibt, sonder einfach nur HOST bleibt. Gibt es da eine Möglichkeit, wie ich dass machen kann, dass es funktioniert?

    Falls nicht, hätte ich noch diese Variante angefangen, die aber auch Fehler hat.
    PHP:
    <files "\.(swf|bmp|gif|jpg|jpe|jepg|png|jpeg|avi|mov|wmv|mpg|mpeg|wav|mp3)$">
    ErrorDocument 403 http://Host/images/nohotlinking.png
    SetEnvIfNoCase Referer Host local_ref=1
    SetEnvIfNoCase Request_URI 
    "nohotlinking\.png$" local_ref=1
    SetEnvIfNoCase Request_URI 
    "/images/banner/link_us/" local_ref=1
    SetEnvIfNoCase Referer 
    ^$ local_ref=1
    Order Allow
    ,Deny
    Allow from env
    =local_ref
    </files
    Eigentlich ist es genau das gleiche wie oben. In der zweiten Zeile soll Referer Host enthalten usw.
    Auch hier glaube ich dass mir die Variablen nicht aufgelöst werden, also es bleibt der Variablenname als Wert stehen.

    Könntet ihr mir bitte bei meinem Problem helfen?

    MfG Djsammy
     

Diese Seite empfehlen