Kleine Anpassungen auf dem Blog

Heute habe ich mal wieder einige kleine Verbesserungen an meiner Homepage vorgenommen. Das Problem war, dass viele Suchmaschinen auf der 404 Fehlerseite gelandet sind, weil sie bei den Urls den Slash am Ende nicht angegeben hatten.
Das heisst sie hatten die Seite http://blog.t-error.ch/article/797/herbstlich angefragt, anstelle der Seite http://blog.t-error.ch/article/797/herbstlich/ (Man beachte den Slash am Schluss). Nun habe ich meine .htaccess Datei angepasst, dass die Seite nun wie folgt aufgerufen werden kann:
  • http://blog.t-error.ch/article/797/herbstlich/
  • http://blog.t-error.ch/article/797/herbstlich
  • http://blog.t-error.ch/article/797/
  • http://blog.t-error.ch/article/797
So sollten die Suchmaschinen auch die Seiten finden, die sie erwartet hatten und ich denke auch der eine oder andere Besucher wird so das gewünschte finden.

Dasselbe habe ich auch bei den Themen (http://blog.t-error.ch/topic/1/bike), den Tags (http://blog.t-error.ch/tag/bike) und bei fast allen anderen Seiten so gemacht.

Trafficklau mit htaccess verhindern

Das Szenario ist wohl manchen Webdesigner bekannt. Bilder die man auf dem eigenen Webserver hat, werden von anderen Leuten direkt eingebunden. Dies führt zu einem erhöhten Traffic, denn man schlussendlich ja selber bezahlt. Derjenige, der das Bild auf einer anderen Webseite einbindet gibt kaum die Quelle an und zahlt natürlich auch nichts an die höheren Traffickosten. Ich habe bereits früher über einige Möglichkeiten zum verhindern von Trafficklau berichtet. Nun habe ich noch eine andere Möglichkeit. Mittels einer htaccess Datei werden Zugriffe mit bestimmten Referer auf Bilder geblockt. Dies setzt einen Apache Webserver voraus.
# kein zugriff auf bilder fuer die angegebenen referer
<Files ~ "\.(gif|GIF|jpg|JPG|bmp|BMP|jpeg|JPEG|pdf|PDF)$">
    SetEnvIfNoCase Referer bbs bilderklau=yes
    SetEnvIfNoCase Referer ebay bilderklau=yes
    SetEnvIfNoCase Referer foren bilderklau=yes
    SetEnvIfNoCase Referer forum bilderklau=yes
    SetEnvIfNoCase Referer gamez bilderklau=yes
    SetEnvIfNoCase Referer guestbook bilderklau=yes
    SetEnvIfNoCase Referer jappy.de bilderklau=yes
    SetEnvIfNoCase Referer kwick.de bilderklau=yes
    SetEnvIfNoCase Referer live.com bilderklau=yes
    SetEnvIfNoCase Referer mybbforo bilderklau=yes
    SetEnvIfNoCase Referer myspace bilderklau=yes
    SetEnvIfNoCase Referer phpBB bilderklau=yes
    SetEnvIfNoCase Referer viewtopic.php bilderklau=yes

    deny from env=bilderklau
</Files>

Mit imgRed gibt es zudem ein Service im Internet, mit dem man zwar Bilder, aber nicht den Traffic klauen kann. Als Bildadresse gibt man die Adresse mit vorangestellter imgRed Adresse an. Zum Beispiel so:
http://imgred.com/http://plog.t-error.ch/images/35.jpg

Da imgRed das Bild aber Cached, wird dem Besitzer des Webspaces zwar kein Traffic gestohlen, das Bild aber immer noch. Dies lässt sich aber auch mit htaccess ganz einfach verbieten:
# imgRed blocken
order allow,deny
deny from 64.131.64.202
allow from all

Bilder-/Trafficklau verhindern

Über Konnichi wa bin ich auf ein Thema gestossen, dass mich früher auch mal beschäftigte. Der Bilderklau.
Eigentlich gib es zwei Varianten von Bilderklau. Das Bild wird abgespeichert und auf dem eigenen Server gehostet oder das Bild wir einfach verlinkt. Die zweite Varianten nennt man auch Traffic-Klau und darauf möchte ich nun genauer eingehen.

Zum einen gibts da die Möglichkeit, die Bilder einfach umzubenennen und/oder einfach ein anderes Bild an der Stelle platzieren. Diese Variante ist einfach, bringt langfristig aber wenig, da man einfach auf das neue Bilder verlinken kann.

Eine andere Methode habe ich bei Webmaster Resource gefunden. Dort wird das Bild mit PHP in mehrere Stücke zerlegt und dann mit einer Tabelle angezeigt. Für einen Anfänger wird es so schwieriger, da er nicht einfach auf das Bild linken kann, sondern den ganzen Code kopieren muss. Für einen erfahrenen Webdesign allerdings kein Problem.

Eine auch schon sehr bekannte Variante ist die folgende. Man macht eine Tabelle, definiert das zu schützende Bild als Hintergrund und legt ein transparentes Bild davor. Wie schon die Variante davor, nützt das nichts gegen erfahrene Webdesigner. Ein Beispielcode sieht so aus:
<table background="img/bild.jpg">
  <tr>
    <td>
      <img src="img/transparentes_bild.gif" width="200" height="150" alt="" />
    </td>
  </tr>
</table>


Eine effektivere Methode ist htaccess. Damit wird der Referer, also die Seite von der der Besucher kommt, abgefragt. Wenn der Referer nicht die eigene Seite ist, wird ein anderes Bild angezeigt. Einfach und effektiv, funktioniert aber leider nur mit Apache und mod_rewrite.
RewriteEngine OnRewriteCond %{HTTP_REFERER} !^http://.*webseite\.ch/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://.*webseite\.ch*$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule ^(.*)jpg$ http://www.webseite.ch/images/bilderklau.jpg [L,R]


Fazit:
Wirklich verhindern, kann man den Bilderklau nicht. Allerdings kann man mit wenig Aufwand zumindest den Trafficklau vermindern.