Das Putzlowitsch Test- und SEO-Blog

Spam-Kommentare, die beliebtesten Artikel

Viel Kommentarspam kommt hier ja nicht an. In den Monaten September, Oktober und November waren es insgesamt etwa 600 Versuche, automatisch einen spammigen Kommentar bei einem Artikel oder einer Seite zu hinterlassen. Diese Versuche werden allerdings gleich an der Türe abgebügelt, kommen gar nicht erst bis zur Datenbank und müssen deshalb auch nicht moderiert oder gelöscht werden.

Was mich schon immer interessiert, nach welchen Gesichtspunkten wählen die Spambots Ihre Zielseiten aus. Gibt es irgendein System oder wird einfach zufällig gestreut? Ich habe dashalb alle Spamversuche aus den drei oben genannten Monaten aufsummiert und eine kleine Tabelle erstellt:

Nr Artikel/Seite Spam PR Kom
1 123 Moderate Comment Notification 21,3% 3 3
2 Es geht doch, Kontaktformular mit POST und Permalinks 17,1% 1 3
3 WordPress und die suboptimale MySQL-Optimierung (5.0.51) 14,7% 2 42
4 Privat: 123 MetaBlog 11,9% 2 2
5 WordPress 2.3 – Anonym up-to-date bleiben 5,9% 2 14
6 WordPress 2.3 – Problem ohne www bei Strato 5,2% 2 82

Ich habe nur die Seiten und Artikel berücksichtigt, die 5% oder mehr am Spamaufkommen ausmachen. In der Spalte PR steht der aktuelle Google-Pagerank und in der Spalte Kom die Anzahl der abgegebenen und freigeschalteten Kommentare.

Alle Seiten oder Artikel sind schon mindestens ein Jahr alt. Der Artikel „WordPress 2.7 – Wartungsmodus ohne Plugin“ mit dem höchsten Pagerank (4) gehört mit 0,8% nicht zu den Favoriten der Spambots, allerdings immerhin zwei der Seiten mit den meisten Kommentaren.

Was kann man nun daraus schließen? Nichts, würde ich sagen :-)
Es gibt wohl kein offensichtliches Muster, nachdem sich die Spambots die Artikel aussuchen, zumindest kann ich keins erkennen.

Interessant fand ich allerdings die Tatsache, daß zwar selten, aber ab und zu doch Kommentarspam fast in Echtzeit auftauchte, nur wenige Stunden nach Veröffentlichung eines Artikels. Rekord war dabei mal eine knappe halbe Stunde. Schon erstaunlich.

Keine Kommentare »

Bilderdiebe – was ich dagegen tue

Alter HutGut, das Thema des aktuellen Webmasterfridays ist zwar mit „Was tun bei Urheberrechtsverstößen?“ deutlich weiter gefaßt, als das es dabei nur um Bilder und Fotos ginge.

Der „Aufhänger“ war aber wohl der Bilderklau beim TagSeoBlog und so will ich mich hier auch nur auf dieses Problem beziehen.

Von Bilderdieben und Raubkopierern

Im richtigen Leben ist das alles klar und weitestgehend eindeutig definiert. Geht jemand in eine Gemäldegalerie, hängt dort heimlich ein Bild ab und nimmt es mit nach Hause, so ist das Diebstahl und derjenige ein Bilderdieb. Tut er so etwas zudem unter Anwendung von Gewalt oder Androhung von Gefahr für Leib oder Leben von Personen, so ist das Raub. Was nun genau ein Raubkopierer macht, ist mir allerdings nicht klar. Ich könnte mir aber vorstellen, daß das jemand ist, der z.B. eine bestimmte Ablauf eines bekannt gewordenen Raubes nachahmt, mithin also den Raub in der Vorgehensweise kopiert :-)

Beiden Delikten, Diebstahl und Raub, ist gemeinsam, daß es sich um die Wegnahme einer fremden beweglichen Sache handelt. Deshalb wird ein Diebstahl meist auch recht schnell bemerkt, denn der entwendete Gegenstand, z.B. das Gemälde, ist ja nicht mehr da.

Bildkopien und Hotlinking

In der digitalen Welt sieht das nun etwas anders aus, auch wenn hier unzutreffenderweise die Begriffe aus dem richtigen Leben verwendet werden. Denn normalerweise wird ein Bild ja nicht „entwendet“, so daß es plötzlich beim Besitzer fehlt, sondern nur eine Kopie angefertigt und an anderer Stelle verwendet (Bildkopie). Das führt auch dazu, daß die unrechtmäßige Verwendung eines Bildes erst sehr spät oder oft auch gar nicht bemerkt wird. Meist kommt so etwas nur eher zufällig ans Tageslicht.

Besonders im Internet wird oft noch nicht mal eine Kopie eines Bildes angefertigt, sondern das Bild einfach direkt von der fremden Seite eingebunden (Hotlink). Dadurch wird nicht nur das Bild möglicherweise unberechtigt verwendet, sondern auch noch der Server des „Bestohlenen“ belastet und ein zusätzliches Datenaufkommen erzeugt. Andererseits sind diese Hotlinks recht schnell zu erkennen, wenn man sich als Webmaster ab und zu die Serverlogfiles daraufhin ansieht.

Urheberrecht

UhrheberDie oben genannten Bildkopien bzw. das Hotlinking sind also kein Diebstahl oder gar Raub, sondern Verletzungen des Urheberrechtes.

Die wichtigsten Punkte im Urheberecht sind wohl Veröffentlichungs-, Verwertungs- und Folgerechte die es dem Schöpfer eines Werkes erlauben, allein darüber zu bestimmt, ob, wann, wo und in welcher Form sein Werk der Öffentlichkeit zugänglich gemacht und wie es im weiteren verwertet, verbreitet und vervielfältigt wird.

Meine Bilder

Im Allgemeinen habe ich nichts dagegen, wenn meine hier oder bei Putzlowitsch veröffentlichten Bilder von Dritten verwendet werden. Sei es nun in Communities, Foren oder anderen Blogs. Auch mit Hotlinks habe ich im Zeitalter von „unbegrenztem“ Traffic keine Probleme, ganz im Gegenteil, bin ich doch darüber schon auf die eine oder andere interessante Seite gestoßen.

Wenn nun aber meine Bilder dreist auf irgendwelchen Spam-Seiten landen oder in einem mir sonst wie nicht genehmen Kontext (z.B. rechtsradikale Foren) erscheinen, dann habe ich schon etwas dagegen. Da es bisher meist nur Hotlinks waren (bei Kopien habe ich es möglicherweise nur noch nicht bemerkt), gehe ich dagegen mit einer technischen Maßnahme vor.

Bilder-Hotlink unterbinden

Normalerweise sendet der Webbrowser eines Nutzers beim Aufruf einer Seite oder eines Bildes die Information mit, woher der Aufruf kommt. Bei einem Link ist das die verlinkende Seite oder bei einem sichtbaren Bild eben die Seite, auf der das Bild angezeigt wird. Diese Information, den so genannten REFERER kann der Webserver auswerten und gegebenenfalls bestimmte Aktionen ausführen. Das Ganze läuft über das Servermodul mod_rewrite und wird über die Datei .htaccess konfiguriert. Damit kann man dem Webserver z.B. sagen, daß wenn die Seite xyz aufgerufen wurde, er doch stattdessen bitte die Seite abc ausliefern oder einen Fehlercode zurückgeben soll.

Die einfachste und zugleich radikalste Variante, dem Hotlinking zu begegnen, ist folgender Dreizeiler:

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?schnurpsel.de/.*$ [NC]
RewriteRule \.(gif|jpe?g|png)$ - [F,L]

So oder ähnlich findet man das auf vielen Webseiten als Empfehlung, wie man sich gegen das Hotlinking schützen kann. Die Strategie ist hierbei, allen die Zugriffe auf Bilder zu verbieten (3. Zeile), und nur Zugriffe von der eigenen Seite zuzulassen (2. Zeile). Die 1. Zeile nimmt etwas Radikalität wieder raus, denn auch wenn der Referer leer, also nicht bekannt ist, woher der Aufruf kam, werden die Bilder angezeigt. Ohne Zeile eins würde man z.B. alle Suchmaschinen-Bots aussperren und auch die User, deren Browser den Referer unterdrückt.

Unberechtigte Zugriffe werden hier vom Webserver mit dem Fehlercode „403 Forbidden“ quittiert, der Browser zeigt dann für ein Bild nur den Alternativtext (falls vorhanden) und eventuell ein Fehlersymbol an. Die Antwort ist klar und deutlich, der Zugriff ist verboten und wird verweigert.

Meine Hotlink-Strategie

Ich bin da nicht ganz so konsequent sondern fahre eine andere Strategie. Ich erlaube prinzipiell allen den Zugriff und schließe nur unerwünschte Seiten aus. Ich will ja nicht die vielen netten User von Jappy, Schnappy und Zappy daran hindern, sich gegenseitig ihre „Gästebücher“ mit Bildern vollzukippen :-)

Bei mir sieht die Hotlinkabwehr deswegen etwas komplizierter aus:

RewriteCond	%{REQUEST_FILENAME} -f
RewriteCond	%{REQUEST_URI}	!^/images/1x5120.gif$
RewriteRule	\.(jpg|gif|png)$	-	[NC,C]
RewriteCond	%{HTTP_REFERER}	hotlink\.schnurpsel\.de [NC,OR]
RewriteCond	%{HTTP_REFERER}	bilderdieb\.schnurpsel\.de [NC,OR]
RewriteCond	%{HTTP_REFERER}	xxxx-yyyy\.zz
RewriteRule	.	/images/1x5120.gif	[T=image/gif,L]

In der 1. Zeile wird geprüft, ob die angeforderte Datei überhaupt existiert. Falls nicht, soll nicht die Hotlink-Abwehr greifen, sondern die normale Fehlerbehandlung ablaufen.

Da ich nicht einfach den Statuscode 403 zurückliefern will, sondern ein Ersatzbild, wird in der 2. Zeile geprüft, ob nicht gerade das Ersatzbild angefordert wird. Dann darf die Hotlink-Abwehr nicht erneut anspringen, sonst gäbe es eine prima Endlosschleife.

Die 3. Zeile selektiert nur die Zugriffe, die ein Bild mit einer der angegebenen Datei-Erweiterungen betreffen, hier also jpg-, gif- und png-Bilder. Die Liste kann natürlich beliebig erweitert werden. Dabei kann man ein klein wenig optimieren, in dem man den Bildtyp nach der Reihenfolge ihrer Häufigkeit angibt. Da bei mir die meisten Bilder vom Typ jpg sind, brauchen die restlichen Einträge dann nicht mehr überprüft werden.

Mit den Zeilen 1 bis 3 werden Vorbedingungen geprüft und nur wenn die angeforderte Datei existiert, nicht das Ersatzbild ist und dem richtigen Dateityp entspricht, wird der Rest abgearbeitet.

Die Zeilen 4, 5 … n-1 enthalten die eigentlichen Bedingungen, wann ein Hotlink als böse einzuordnen ist. Hier wird auf den oben schon angesprochenen Referer Bezug genommen und jede Seite eingetragen, von der Hotlinks unerwünscht sind. Auch hier kann man etwas optimieren, indem man die häufigsten Seiten an den Anfang der Liste stellt. Man kann hier aber auch andere Bedingungen einsetzen, z.B. IP-Adressen. Eine ausführliche Beschreibung zum Apache-Rewrite-Modul findet man hier.

Die letzte Zeile n gibt dann nur noch das Ersatzbild aus, bei mir ein transparentes GIF-Bild mit einem Pixel Breite aber über 5000 Bildpunkten Höhe. Zu sehen ist es nicht, aber es reißt die Seite an der Stelle weit auseinander, ja nach dem, wie das Bild auf der Hotlinkseite eingebunden ist. Außerdem liefere ich, egal was für ein Bildtyp angefordert wird, immer das Gif-Bild aus. Deshalb wird noch der richtige Content-Type (image/gif) gesetzt.

So sieht es aus

Zur Demonstration habe ich mal zwei böse und eine gute Sub-Domain erstellt, damit man sehen kann, wie sich das Ersatzbild auswirkt.
Die gute Seite:
Der alte Hut
Die bösen Seiten:
Bilderdieb
Hotlink
Hinweis zu den bösen Seiten: Wenn man sich zuerst die gute Seite angesehen hat, dann wird auf einer der bösen Seiten möglicherweise trotzdem der Hut und nicht das Ersatzbild angezeigt. Das liegt am Caching durch den Browser. Man muß dann nochmal das Neuladen der Seite erzwingen, beim Firefox z.B. mit Shift+Reload-Button oder Strg+F5.

Vorerst reicht mir meine Hotlink-Abwehr per Ersatzbild für böse Seiten, die Seiten und Abrufe sind allerdings auch recht überschaubar. Problematisch wird es, wenn die Liste mit den Seiten gar zu lang wird, denn die muß der arme Webserver immer von oben bis unten abarbeiten. Das könnte sich dann mit schlechten Antwortzeiten und höherer Serverlast bemerkbar machen.

Nachtrag: Ich habe es nicht extra erwähnt, aber damit die Regeln überhaupt abgearbeitet werden, muß normalerweise die Rewrite-Engine eingeschaltet werden. Zudem sollte man prüfen, ob das Modul mod_rewrite überhaupt zur Verfügung steht. So sieht dann meine Variante komplett aus:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} !/bilder/bild-foto/die-besten-bilder-der-welt.jpg$
RewriteRule \.(jpg|gif|png)$ - [NC,C]
RewriteCond %{HTTP_REFERER} bilderr\.com [NC,OR]
RewriteCond %{HTTP_REFERER} pictures-images\.com [NC,OR]
RewriteCond %{HTTP_REFERER} freeimages-de\.bloggum\.com [NC,OR]
RewriteCond %{HTTP_REFERER} zaggla\.com [NC]
RewriteRule . /bilder/bild-foto/die-besten-bilder-der-welt.jpg [T=image/jpg,L]
</IfModule>

Dieser Block sollte noch vor allen anderen Rewrite-Blöcken stehen, also auch vor den WordPress-Permalink-Eintrag.

21 Kommentare »

Twitter – Links werden falsch umgesetzt

Twitter Linkfehler

Ich bin ja kein Freund von diesen URL-Verkürzungsdiensten. Bei Twitter kommt man allerdings praktisch nicht drumrum, die Links möglichst kurz zu halten. Einerseits um natürlich nicht so viele von den kostbaren 140 Zeichen zu verschwenden. Andererseits schlägt bei Links mit mehr als 30 Zeichen automatisch der bit.ly-Verkürzer zu, ob man das nun will oder nicht. Deshalb verwende ich für Links auf eigene Blogbeiträge den in WordPress schon eingebauten „Shortlink-Dienst„, der einfach über die Artikel-ID funktioniert und zwar immer, egal ob und was man nun bei den Permalinks eingestellt hat.

Bisher wurde diese Links im Twitter-Webinterface auch brav wie alle anderen Links anklickbar umgesetzt. Heute ist mir nun aufgefallen, daß die Anklickbarkeit direkt mit dem Hostnamen endet. Also klickt man sich nur zur Startseite und nicht zum konkreten Artikel. Es scheint so zu sein, daß ab dem Fragezeichen alles ignoriert wird. Finde ich nicht gut und hoffe, daß das nicht so bleibt. Oder ist es gar kein Bug, sondern ein Feature? Aber wozu soll das gut sein?

Keine Kommentare »

SpeedPlus – Strato macht PHP-Anwendungen schneller

Daß ich das noch miterleben darf! Strato hat es tasächlich geschafft, die Performance von PHP-Webapplikationen wie WordPress, Joomla, Typo3 oder Drupal deutlich zu verbessern. „SpeedPlus“ heißt das Kind und wird in einer entsprechenden Pressemitteilung etwas ausführlicher erläutert.

Und nun kommt auch schon die schlechte Nachricht. Von SpeedPlus profitieren derzeit nur Webhostingpakete der PowerPlus-Klasse. Mit BasicWeb und DynamiX guckt man geschwindigkeitsmäßig weiterhin in die Röhre.

Zwar werden in der Pressemitteilung nur die Neukunden erwähnt, aber teilweise werden wohl auch Bestandskunden mit den passenden Tarifen umgestellt. So erhielt ich vorhin einen Anruf vom technischen Support bezüglich meines Tickets 1034031, welches ich angeblich am 16.11. durch eine telefonisch Anfrage initiiert haben soll. Ich bin zwar manchmal etwa vergeßlich aber in dem Fall sehr sicher, daß ich da nicht angerufen hatte. Aber egal, zumindest wurden vom Support ein paar technische Fragen zur Umstellung geklärt und eine halbe Stunde später ging mit meiner WordPress-Testinstallation richtig die Post ab.

Antwortzeiten von etwa einer halben Sekunde gegenüber 3 bis 4 Sekunden vorher sind schon eine angenehme und merkliche Verbesserung. Zudem wurde das ohne-www-Problem beseitigt, es wird also im HTTP_HOST der tatsächlich im Request angegebene host zurückgeliefert.

Im Moment gibt es eigentlich nur noch einen Grund, der mich davon abhält, mit meiner Schnurpsel-Seite wieder zu Strato zurück umzuziehen. Der hoffnungslos veraltete und damit fehlerhafte WebDatabaseManager in Gestalt von phpMyAdmin-Version 2.6.4-pl3 ist nun wirklich keine Glanzleistung für einen der großen Webhoster in Deutschland.

Vielleicht gibt es ja auch noch ein Update für den „WebDatabaseManager“, dann könnte man sogar Strato mit den PowerPlus-Webhostingpaketen für WordPress empfehlen. Das kleinste PowerPlus-Paket, welches ich hier selbst habe, kostet übrigens derzeit 6,90 Euro und ist mit der aktuellen Aktion bis zum 31.12. für die ersten 6 Monate umsonst.

23 Kommentare »

Google Universal Search – Bilder jetzt noch größer

Google Universal-Search FernsehturmEs ist mir gerade zufällig aufgefallen. Wenn bei der Google-Universal-Search (GUS) Bilder an der Top-Position, also ganz oben stehen und das erste Bild im Hochformat vorliegt, wird es in doppelter Größe angezeigt.

Die anderen Bilder werden dann rechts daneben in zwei Zeilen angeordnet. Zudem sind es dann mehr Bilder, die zusätzlich erscheinen, denn in zwei Reihen lassen sich mehr Bilder unterbringen, auch wenn das erste etwa doppelt so breit ist.

Das ist mal wieder ein Beispiel für kleine Änderungen in kleinen Schritten.

Keine Kommentare »