Fernando Santini: Apache: Traffic-Klau-Schutz funktioniert nicht

Hallo zusammen,

ich habe folgendes Problem:

unter http://www.trafficklau.de/htaccess.html steht eine Anleitung, wie ich die .htaccess-Datei richtig konfiguriere, damit ich dem Dieb einen Strich durch die Rechnung machen kann.
Die lautet wie folgt:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?myfirstdomain.com/.*$ [NC]
RewriteRule .(gif|jpg)$ - [F]

Ich selber habe mehrere Domains auf dem Server, die ich in der "Root-htaccess-Datei" verwalte. Dies ist der Code in der htaccess-Datei:

RewriteEngine on
RewriteCond %{HTTP_HOST} [^.]*myfirstdomain.com$
RewriteRule ^(.*)$ /myfirstdomain/$1
RewriteCond %{HTTP_HOST} [^.]*myfirstdomain.net$
RewriteRule ^(.*)$ /myfirstdomain/$1

Im Verzeichnis /myfirstdomain/ habe ich wiederum eine htaccess-Datei, die folgenden Code enthält:

RewriteEngine off

Dies wurde mir so von meinem Webhoster gesagt und es funktioniert wunderprächtig!

Aber sobald ich den "Traffic-klau-Code" einfüge (egal ob im Root-htaccess oder im Unterverzeichnis), bekomme ich "Internal Server-Errors".

Ich habe folgende Fragen, wie lautet der Code korrekt, damit ich a) nur eine einzige Domain schütze (myfirstdomain.com) b) alle meine Domains schütze und c) wie kann ich die Sperrung auf *alle* Dateiendungen erweitern (ausgenommen aber .html und .htm)?

Vielen Dank!

euer Fernando

  1. hi,

    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www.)?myfirstdomain.com/.*$ [NC]

    eine Logik, die auf einem HTTP-Header wie "Referer" basiert, der client-seitige sowohl unterdrückt als auch beliebig verfälscht werden darf, kann niemals zuverlässig funktionieren.

    Aber sobald ich den "Traffic-klau-Code" einfüge
    (egal ob im Root-htaccess oder im Unterverzeichnis),
    bekomme ich "Internal Server-Errors".

    Gehirn ausschalten, aufhören zu atmen, error_log lesen. Anschließend wichtige Funktionen wieder einschalten.

    Ich habe folgende Fragen, wie lautet der Code
    korrekt

    Es gibt keinen "korrekten" Code für Deinen Wunsch. Der Referrer liefert Dir nicht zuverlässig die Information, die Du haben willst. (Auch wenn Dein Beispiel im Prinzip sogar im Apache-Handbuch steht ...)

    Viele Grüße
          Michael

    1. Moin,

      eine Logik, die auf einem HTTP-Header wie "Referer" basiert, der client-seitige sowohl unterdrückt als auch beliebig verfälscht werden darf, kann niemals zuverlässig funktionieren.

      ? Es ist ja nicht mein Code, sondern der des Webhosters. Ich hab' von Apache nahezu Null Ahnung.

      Gehirn ausschalten, aufhören zu atmen, error_log lesen. Anschließend wichtige Funktionen wieder einschalten.

      Ah, ja...

      Ich habe folgende Fragen, wie lautet der Code
      korrekt

      Es gibt keinen "korrekten" Code für Deinen Wunsch. Der Referrer liefert Dir nicht zuverlässig die Information, die Du haben willst. (Auch wenn Dein Beispiel im Prinzip sogar im Apache-Handbuch steht ...)

      Kannst du mir dann einen Code schreiben, der die URI umleitet und die Bilder schützt?

      Viele Grüße
            Michael

      Danke und Grüsse
      Fernando

      1. Hi,

        Kannst du mir dann einen Code schreiben, der die URI
        umleitet und die Bilder schützt?

        nein - weil dem Server keine Informationen vorliegen, nach denen er erwünschte von unerwünschten Zugriffen unterscheiden kann.
        Eine Information auszuwerten, die nicht existiert, gehört nicht zu den einfachen Aufgabenstellungen ...

        Viele Grüße
              Michael