Irgendwie ist es überall und immer die selbe Frage aber ich bin bis jetzt noch nicht wirklich fündig geworden.

Google Analytics – hatte ich früher mal getestet; war aber aus irgendwelchen Gründen nicht zufrieden. Habe früher (vor 1, 2 Jahren) auch gelesen, Analytics sei rechtliche Grauzone (wegen IP Logging und so), ist das mittlerweile anders?
Ich hab Analytics gerade für meinen Blog eingerichtet und schau mir das die nächsten Tage nochmal an.

Woopra – ist wie ich finde ein schöner Dienst. Die dazugehörige Java-Desktop Anwendung sowieso ein Knaller. Die wichtigsten Daten auf einen Blick, gute Live Statistik, Chatfunktion (naja, wers braucht), schöne Aufmachung. Der Ruf schwächelt jedoch, hab ich das Gefühl. Zudem ist das Einbinden von Woopra mangelhaft, sehr viele .js Scripts werden dafür generiert und ich habe die Vermutung, dass Woopra nicht sehr performant ist. Weiß jemand mehr dazu?

eTracker – wie ich schonmal in einem Post erwähnt habe ist eTracker in der kostenlosen Variante nicht schlecht, allerdings auch nicht ausreichend, wenn man sich die Konkurrenten (überwiegend kostenlos) mal ansieht. Teste ich gerade aber werde ich wahrscheinlich wieder absetzen.

StatCounter – habe ich von gelesen, soll brauchbar sein. Allerdings nur 100 Referrer, keine PI Anzeige und solche Sachen, das trübt das Bild leider sehr. Andere Meinungen?

AWStats – nutze ich bei einem anderen Webprojekt, sieht gut aus. Die Installation war mir bisher aber zu kompliziert und ich hab mich da noch nicht rangemacht. Wäre das eine Alternative?

SiteMeter – habe ich hier und dort auch gesehen aber mich noch nicht mit befasst. Brauchbar?

BBClone – habe ich bis vor kurzen verwendet aber es loggt viel zu viele Bots und andere Nicht-Besucher. Selbst wenn man das loggen dieser Nicht-Besucher in den Einstellungen deaktiviert bessert sich die Situation nicht spürbar.

Webalizer – ist sogar noch schlimmer als BBClone und loggt mindestens das Doppelte von diesem. In den letzten Monaten hatte ich beide Dienst bei meinem Blog und die Zahlen waren nicht realistisch.

Eure Meinung würde mich brennend interessieren. Welchen Service nutzt ihr? Nutzt ihr mehrere, 2 zum Vergleichen oder so?

Ich stolperte heute über die Firebug Extension „YSlow„. Dieses Tool birgt enormes Potenzial für Webentwickler. Mehr Details zu diesem Tool auf der Herstellerseite.
YSlow analysiert und bewertet die Geschwindigkeit von Webseiten, stellt Diagramme dar, bietet Tools an und dient damit ungemein dem Optimierungsprozess.

yslow-taskbarIst das Plugin installiert kann man es über die Taskleiste des Firefox aufrufen.
Dann testet YSlow die aktuelle Webseite.
Dabei werden HTTP requests, Komprimierung, viele CSS und Javascript Tweaks und Ähnliches getestet. Jede Kategorie (z.B. „Make fewern HTTP requests“) erhält eine eigene Bewertung in Form der englischen Benotung, also „A“ bis „F“. Am Ende wird die komplette Seite mit einer Note bewertet und alle Analysen werden übersichtlich aufgelistet. Es finden sich auch Tipps in dieser Übersicht.
yslow-website-speed-optimazation-resultpage2
Ich schäme mich für die Note „E“, die meine Seite bekommen hat aber ich werde natürlich daran arbeiten, das zu verbessern 🙂

Eine weitere Funktion sind die „Wight Graphs„. Sie splitten die Internetseite in Dateitypen auf (JS, CSS, HTML/Text) und geben jeweils die Größe an. Das ganze wird übersichtlich und hübsch in einem Tortendiagramm dargestellt:
yslow-website-speed-optimazation-graph2
Dabei wird noch zwischen 2 Besucherarten unterschieden. Benutzer, die das erste Mal auf die Seite kommen und alles laden müssen (links). Und jene, die bereits alle statischen Elemente im Cache geladen haben (rechts). Bei meiner Seite sind es z.B. 700k für Erstbesucher und 40k für wiederkehrende Leser.

Zu guter Letzt gibt es noch einige Tools, die ihr aus der Oberfläche von YSlow starten könnt.
yslow-website-speed-optimazation-tools2

Viel Spaß beim Analysieren und Optimieren!

Gestern habe ich in einem Beitrag die grundlegende Botabwehr via .htaccess beschrieben.
Einige Quellen behelfen sich auch noch anders, ich habe einige Kleinigkeiten übernommen und stelle sie jetzt mal vor.

1. Sichern der wp-config.php
Es gibt sicher hunderte Tipps, WordPress mit der .htaccess zu sicher. Ich finde das alles recht übertrieben aber ein Tipp ist schnell gemacht und hebt die Sicherheit ein wenig an:


Order deny,allow
deny from all

Hiermit wird die wp-config.php vor Zugriffen geschützt. Möglich, dass es mir irgendwann mal den Blog rettet, weiß nicht. 🙂

2. Fehlerdokument bei 403 – Forbidden
Mein Botabwehr-Post zeigt, wie man sich die schlimmsten Bots durch IP-Sperrungen vom Hals halten kann. Sollte durch diese über 80 IP-Adressen/Ranges mal ein unschuldiger Besucher geblockt werden, kann man ihn wenigstens darauf aufmerksam machen, warum.


order allow,deny
allow from all

ErrorDocument 403 /403.php

Zuästzlich erstellt ihr eine 403.php, in der ihr bisschen was textet. Möglich wäre etwas wie „Du wurdest aufgrunf von Sicherheitseinstellungen geblockt. Wenn du glaubst, dies sein ein Missverständnis, dann schreibe an [email-adresse]“. Das ganze noch auf Englisch und fertig.

3. Spamboterkennung durch UserAgent String
Viele Spambots kommen – warum auch immer – mit eigenen UserAgents. Diese hat mal jemand zusammengetragen (also so die bekanntesten) und nun kann man sich damit einige Plagegeister vom Blog fernhalten:

SetEnvIfNoCase User-Agent "^Anarchie" bad_bot
SetEnvIfNoCase User-Agent "^ASPSeek" bad_bot
SetEnvIfNoCase User-Agent "^attach" bad_bot
SetEnvIfNoCase User-Agent "^autoemailspider" bad_bot
SetEnvIfNoCase User-Agent "^Xaldon\ WebSpider" bad_bot
SetEnvIfNoCase User-Agent "^Xenu" bad_bot
SetEnvIfNoCase User-Agent "^Zeus.*Webster" bad_bot
SetEnvIfNoCase User-Agent "^Zeus" bad_bot
SetEnvIfNoCase User-Agent "^CherryPicker" bad_bot
SetEnvIfNoCase User-Agent "^Extreme\ Picture\ Finder" bad_bot
SetEnvIfNoCase User-Agent "^HTTrack" bad_bot
SetEnvIfNoCase User-Agent "^JoBo" bad_bot
SetEnvIfNoCase User-Agent "^JOC\ Web\ Spider" bad_bot
SetEnvIfNoCase User-Agent "^MSIECrawler" bad_bot
SetEnvIfNoCase User-Agent "^ninja" bad_bot
SetEnvIfNoCase User-Agent "^Offline\ Explorer" bad_bot
SetEnvIfNoCase User-Agent "^SiteCopy" bad_bot
SetEnvIfNoCase User-Agent "^SiteSnagger" bad_bot
SetEnvIfNoCase User-Agent "^SiteSucker" bad_bot
SetEnvIfNoCase User-Agent "^teleport" bad_bot
SetEnvIfNoCase User-Agent "^WebBandit" bad_bot
SetEnvIfNoCase User-Agent "^WebCopier" bad_bot
SetEnvIfNoCase User-Agent "^Webdup" bad_bot
SetEnvIfNoCase User-Agent "^WebReaper" bad_bot
SetEnvIfNoCase User-Agent "^WebSnake" bad_bot
SetEnvIfNoCase User-Agent "^WebStripper" bad_bot
SetEnvIfNoCase User-Agent "^WebMiner" bad_bot
SetEnvIfNoCase User-Agent "^x-Tractor" bad_bot
SetEnvIfNoCase User-Agent "^WebZIP" bad_bot
SetEnvIfNoCase User-Agent "^Xaldon\ WebSpider" bad_bot
SetEnvIfNoCase User-Agent "^mister\ pix" bad_bot
SetEnvIfNoCase User-Agent "^PICgrabber" bad_bot
SetEnvIfNoCase User-Agent "^psbot" bad_bot
SetEnvIfNoCase User-Agent "^Mozilla/2.0\ \(compatible;\ NEWT\ ActiveX;\ Win32\)" bad_bot
SetEnvIfNoCase User-Agent "^WebCollector" bad_bot
SetEnvIfNoCase User-Agent "^WebPix" bad_bot
SetEnvIfNoCase User-Agent "^EmailCollector" bad_bot
SetEnvIfNoCase User-Agent "^EmailMagnet" bad_bot
SetEnvIfNoCase User-Agent "^EmailReaper" bad_bot
SetEnvIfNoCase User-Agent "^EmailWolf" bad_bot
SetEnvIfNoCase User-Agent "^ExtractorPro" bad_bot
SetEnvIfNoCase User-Agent "^NICErsPRO" bad_bot
SetEnvIfNoCase User-Agent "^EmailSiphon" bad_bot
SetEnvIfNoCase User-Agent "^WebEMailExtractor" bad_bot
SetEnvIfNoCase Remote_Addr "^63\.148\.99\.2(2[4-9]|[3-4][0-9]|5[0-5])$" bad_bot
SetEnvIfNoCase User-Agent "^NPBot" bad_bot
SetEnvIfNoCase Remote_Addr "^12\.148\.196\.(12[8-9]|1[3-9][0-9]|2[0-4][0-9]|25[0-5])$" bad_bot
SetEnvIfNoCase Remote_Addr "^12\.148\.209\.(19[2-9]|2[0-4][0-9]|25[0-5])$" bad_bot
SetEnvIfNoCase User-Agent "^TurnitinBot" bad_bot
SetEnvIfNoCase Remote_Addr "^64\.140\.49\.6([6-9])$" bad_bot
SetEnvIfNoCase User-Agent "^ClariaBot" bad_bot
SetEnvIfNoCase User-Agent "^Diamond" bad_bot
SetEnvIfNoCase User-Agent "^.*Indy\ Library.*$" bad_bot
SetEnvIfNoCase User-Agent "^.*larbin2\.6\.3\@unspecified.*$" bad_bot
SetEnvIfNoCase User-Agent "^PycURL" bad_bot


order allow,deny
allow from all
deny from env=bad_bot

Simpel, oder? Beim Anpeilen des Blogs wird der UserAgent des Besuchers gescannt, enthält er bestimmte Merkmale/Namen dann kommt er in die Gruppe „bad_bot“. Diese wird mit .htaccess-Limit geblockt. Eine brauchbare Ergänzung zu den IP-Adressen.

Ich hoffe, ihr konntet etwas Wissenswertes für euch abzwacken, nutzt den Code wie ihr wollt.
Findet ihr die Sicherheitsvorkehrungen zu krass? Meint ihr sie wirken überhaupt oder Spambots sind dafür zu clever?

Die letzten Tage haben mich darauf hingewiesen, dass Spam auch sehr aggressiv sein kann. Man sollte sich also absichern, wenn man z.B. einen Blog betreibt.
Eine gute Methode ist das Anpassen der .htaccess Datei.
Eine .htaccess Datei wird meistens auf Apache Server eingesetzt. Es ist eine Art Konfigurationsdatei für Webserverinhalte. Damit lassen sich Zugriffsrechte einstellen, Zugriffsquellen einschränken, Optionen tätigen und einiges mehr. An sich ein komplexes Thema aber mir geht es jetzt erstmal nur um folgendes:

Botabwehr mittels IP-Adressen-Sperrung

Man sollte wissen, dass Comment Spam durch Bots entsteht. Diese automatisierten Scripte scannen das Internet nach Angriffszielen wie Blogs. Dort füllen sie ganz automatisch die Kommentarformulare aus und hinterlassen damit Links, vorrangig dubioser Natur. Wenn man also diese Bots komplett sperren könnte, wäre man spamfrei. Das funktioniert natürlich nicht. Zu erklären, warum, würde hier den Rahmen sprengen.

Wie halten uns also mittels der .htaccess einige Bots vom Leibe. Dazu kann man Zugriffe von bestimmten Quellen sperren, wie z.B. IP-Adressen bzw. Adressbereiche.
Allgemeiner Aufbau dazu ist folgender:

Order allow, deny
Allow from 127.0.0.1
Deny from All

Welche IP-Adressen sollten wir sperren? Wenn man hier übertreibt, kann man schnell Unschuldige blocken.
Bei der Frage habe ich mir helfen lassen. Auf projecthoneypot.org findet ihr „böse“ IP-Adressen.
Ich habe dort die Bereiche Total Comment Spams, Total Crawler und Total Harvester Spam Yield angesehen und jeweils die Top25 dubiosen IP-Adressen herausgefilter.
Dann ab damit in die .htaccess:

Order allow,deny
allow from all
### Türkische Adressen
deny from 81.212.0.0/14
deny from 85.96.0.0/12
deny from 88.224.0.0/11
deny from 212.156.0.0/16
deny from 212.174.0.0/15
deny from 195.174.0.0/15
### Top25 Blogkommentar-Spammers von projecthoneypot.org
deny from 62.90.102.146
deny from 213.163.65.177
deny from 213.163.65.163
deny from 62.90.102.148
deny from 94.102.60.45
deny from 93.174.93.221
deny from 200.63.42.77
deny from 93.174.93.220
deny from 83.233.30.77
deny from 93.189.56.218
deny from 89.248.172.26
deny from 212.150.184.150
deny from 194.165.42.151
deny from 194.165.42.153
deny from 194.165.42.155
deny from 94.102.60.43
deny from 194.165.42.157
deny from 94.102.60.77
deny from 89.248.162.197
deny from 193.53.87.77
deny from 85.12.25.118
deny from 200.63.42.109
deny from 200.63.42.113
deny from 80.67.6.226
deny from 200.63.42.111
### Top25 Crawler von honeypotproject.org
deny from 84.244.189.99
deny from 62.90.102.146
deny from 213.163.65.177
deny from 213.163.65.163
deny from 62.90.102.148
deny from 94.102.60.45
deny from 200.63.42.77
deny from 83.233.30.77
deny from 93.174.93.221
deny from 93.174.93.220
deny from 93.189.56.218
deny from 89.248.172.26
deny from 92.48.203.116
deny from 78.46.88.202
deny from 212.150.184.150
deny from 66.232.118.177
deny from 94.102.49.85
deny from 194.165.42.151
deny from 89.248.162.197
deny from 194.165.42.153
deny from 66.114.197.254 
deny from 194.165.42.155
deny from 94.102.60.43
deny from 94.102.60.77
deny from 74.50.117.96
### Top25 Harvester von honeypotproject.org
deny from 200.226.134.53
deny from 64.27.5.162
deny from 64.233.166.136
deny from 195.229.242.154
deny from 64.233.178.136
deny from 66.249.90.136
deny from 203.144.144.164
deny from 72.14.220.136
deny from 165.228.133.11
deny from 62.163.80.205
deny from 200.65.127.161
deny from 208.223.208.181
deny from 165.228.130.12
deny from 209.85.138.136
deny from 72.14.252.136
deny from 216.239.50.136
deny from 165.228.131.12
deny from 62.163.37.157
deny from 195.175.37.71
deny from 64.34.255.239
deny from 219.93.178.162
deny from 89.122.16.96
deny from 64.27.29.45
deny from 62.163.70.194
deny from 89.122.213.193
### Top25 Harvester Spam Yield
deny from 74.86.209.74
deny from 74.53.249.34
deny from 216.40.222.98
deny from 216.40.220.18
deny from 216.40.220.34
deny from 75.125.52.146
deny from 216.40.222.50
deny from 75.125.47.162
deny from 208.101.44.3
deny from 70.85.113.242
deny from 216.40.222.82
deny from 67.19.250.26
deny from 74.86.249.98
deny from 208.66.195.5
deny from 208.66.195.4
deny from 74.86.14.10
deny from 208.53.147.89
deny from 208.66.195.9
deny from 208.66.195.11
deny from 208.66.195.6
deny from 208.66.195.7
deny from 208.66.195.2
deny from 208.66.195.10
deny from 67.19.114.226
deny from 208.66.195.8

Die türkischen Adressen am Anfang stammen von Caschy, danke dafür.
Damit hält man sich zumindest die 80 schlimmsten Bösewichtsherkünfte vom Hals.
Ob das jetzt viel bringt, bin ich mir nicht so sicher. Habe leider auch noch keine Möglichkeit gefunden, wie man nur die Bots/Crawler etc einer Domain erfassen und zählen kann. So könnte man vielleicht einen Rückgang der Bösewichte erkennen. Wenn ich so eine Möglichkeit gefunden habe, werde ich das natürlich ausführlich testen.

Soweit, vielleicht kommt ja in Zukunft noch mehr davon.

Dies ist ein Gastbeitrag von Mario Neumann, einem Freund von mir.
Er hatte kurzzeitig einen eigenen Blog, verlor diesen aber aus den Augen. Nach meiner Bitte, mir bei meinem Blog auszuhelfen, hat er seinen ersten Beitrag bei mir verfasst.
Gebt Feedback und Lob, vielleicht kriege ich dann einen Mitautor für diesen Blog 😉
Ich habe den Beitrag nur an die Contentbreite angepasst und das Youtube Video valide eingebaut.

Mit dem heutigen Tag kommt die GeForce 3D Vision in die Deutschen Läden. Media Markt bietet als erster deutscher Händler dieses Wunderwerk von Technologie an.

Einige von euch haben sicher schon von der neuen Kino Technologie, dem „True 3D“ gehört. Das Bild kommt aus der Leimwand raus und setzt sich Quasi neben den Zuschauer. Faszinierend und mit mehr Erfahrung sicher auch bald brillant umgesetzt.

Nun, diese Technik gibt es ja schon länger. Jeder denkt sicher noch gerne an die alten Donald Duck Comics zurück. Das ist die mir als erstes bekannte Einsetzung dieser Technologie.

So, jetzt genug zur Geschichte, wieder zurück zur Gegenwart. Die „GeForce 3D Vision“ ist die 3D Brille für den Computer. Wie vielleicht zu erahnen, funktioniert sie nur mit nVidia-Grafikprozessoren. Mithilfe der Brille und der entsprechenden Software dafür werden eine Vielzahl an Spiele aus dem Bildschirm geholt.
Wie das dann wirklich aussehen wird kann man schlecht zeigen, die meisten werden diesen Artikel ja in „2D“ lesen 😉 Daher gibt es auch nicht wirklich aussagekräftige Demovideos von dem Resultat mit aufgesetzer Brille, es lässt sich auf herkömmlichen Monitoren einfach schlecht demonstieren.
Allerdings gibts es Tech Demos, wo die Technik etwas mehr ins Detail gezeigt und vorgeführt wird.
https://www.youtube.com/watch?v=http://www.youtube.com/watch?v=pY8yshGOD6Q[/embed]

Dies bietet eine neue und vor allem atemberaubende Möglichkeit, Spiele zu erleben.

Aber der Spaß ist nicht sehr billig. Die Brille soll bei Media Markt für 199 € bereit stehen aber damit ist es noch nicht getan. Damit man ein flimmerfreies Bild hat, braucht man einen Bildschirm mit einer Bildwiederholungsrate von 120 Hz; Standard sind 60 Hz bei den heutigen Monitoren, damit eindeutig zu wenig. Da bietet Media Markt aber auch gleich die entsprechende Lösung, den „Samsung 2233RZ“ für sagenhafte 369 €. Neben den 120 Hz lockt der Bildschirm aber auch mit anderen Qualitäten. Empfohlen wird zu diesem Paket des Weiteren noch die nVidia GeForce 9800 GT mit 1024 MB, die bei Media Markt für 129 € vorliegt. Im Großen und Ganzen macht das dann ein Sparpaket von 696 € für ein echtes 3D Spieleerlebnis.

Ich finde das schon als beeindruckenden Schritt in die richtige Richtung um einen Spieler wieder richtig an den Rechner zu fesseln. Meiner Meinung nach fehlen jetzt nur noch die „Life Motion Gloves“ sowie die „Life Motion Boots“ (fiktiv ausgedachte Begriffe, die verdeutlichen, was gemeint ist) für das richtige interaktive Spielerlebnis.

Die Spamwelle verebbt, so langsam kehrt wieder Normalität ein im Bloggeralltag. Als Fazit kann ich einige gute Punkte aufzählen. Es gab Verbesserungen in der Botabwehr, dazu schreibe ich heute noch. Zudem war mein Spamartikel letztens gut kommentiert und ich lernte wieder 1, 2 andere interessante Blogs kennen.

Ich sehe das ja so; je mehr Spambots meinen Blog erreichen, desto bekannter müsste er ja im Internet sein, oder? Natürlich crawlen sie durch das ganze Netz aber je mehr Backlinks auf mich führen desto schneller und zahlreicher werde ich doch sicher besucht.
Daher werte ich die Spamwelle der letzten 2 Tage durchaus als gutes Zeichen 😀 Denn ich muss schon sagen; so eine arme Sau wie mich gibts sicher selten:
akismet-3000-spam-per-dayNa wenn das nicht mal eine wunderbar hohe Zahl ist! Da scheint es tatsächlich jemand auf mich abgesehen zu haben. Oder es fanden tatsächlich alle Spambots auf einmal irgendwie meinen Blog. Noch viel aufregender ist der Fakt, dass kein einziger der exakt 4770 Spams von gestern und Heute durchgekommen ist! Akismet hat also wieder ganze Arbeit geleistet. Man muss zwar erwähnen, dass bei 1000 angezeigten Spams in der Statistik nicht tatsächlich 1000 Spams auch im Blog eingetragen und im Spam/Moderationsbereich landen. Aber ich hatte die letzten 2 Tage wahrscheinlich so um die 800 Spamkommentare, die ich nach einem verirrten, richtigen Kommentar durchsucht und dann gelöscht habe.
All das freut natürlich auch Akismet denn selten bekommt man die Chance seine Zuverlässigkeitsrate so explodierend nach oben korrigieren zu dürfen:
akismet-accuracy-99-percent 99,95%… Holla die Waldfee!! Na dann auf jeden Fall Herzlichsten Glückwunsch und vielen Dank, lieber Helfer. Ich empfehle dich gern weiter.

Eins meiner Statistiktools hat diesen Bottraffic natürlich mitbekommen, das Bild ist fast schon bizarr.
hannes-schurig-blog-monatsstatistikFast eine ver-4-fachung meines Traffics hätte ich mir nie erträumt. Spambots können also auch noch Träume wahr werden lassen, welch wunderbares Omen.
Natürlich verzeichnen andere Statistiktools keinen Anstieg. Obwohl in den letzten Tagen ein leichter Trafficanstieg statt fand, das freut mich natürlich sehr.
Vor allem vor dem Hintergrund der ganzen Serverprobleme, Serverumzug und so. Das stresst mich natürlich auch sehr und ich möchte das auch möglichst schnell über die Bühne kriegen.

Also, Kopf hoch und weiter gehts.

Mein Blogtheme ist ja Illacrimo von Design Disease und als ich heute mit dem Internet Explorer mal wieder den Blog testete fiel mir zum ersten Mal auf, dass das Kommentieren Schwierigkeiten bereitet.

Wenn man im Kommentarformular die Maus über den „Post Your Comment“ Button bewegte erschien folgende Fehlermeldung:
blog-theme-illacrimo-missing-imghover-js
Seltsam, dass kein IE User bisher bescheid gesagt hat, vielleicht kam der Fehler auch nur bei mir.

Zumindest habe ich kurzer Hand die Ursache gesucht und gefunden:
Der „Post Your Comment“ Button soll die Farbe wechseln, wenn die Maus über ihn fährt. Dafür nutzt Javascript eine Funktion, die sich in einer .js Datei im Themeordner befinden sollte. Um genau zu sein geht es um die Funktion „changeSty()“, die in der Datei imghover.js unter „illacrimo/javascript/imghover.js“ befinden sollte.
Im Themeordner war aber weder der Javascriptordner noch die Javascriptdatei. Auch der Originaldownload des Themes von der oben verlinkten Herstellerseite beinhaltet diese Datei nicht, was ich sehr merkwürdig finde.

Naja aber auch dieses Problem war schnell gelöst.
So schafft ihr euch dieses Problem vom Hals:

Erst in eurem Themeordner (wp-content/themes/illacrimo/illacrimo/) den Ordner „javascript“.
Erstellt eine neue .js Datei mit einem beliebigen Editor und schreibt folgenden Code hinein:

function changeSty(classpassed){
	element=event.srcElement;
	//document.getElementById('buttonIMG').className=classpassed;
	element.className=classpassed;
}

Nennt diese Datei imghover.js und packt sie in den neuen „javascript“ordner.
Und schon funktioniert alles auch im Internet Explorer. Mit dem Firefox funktionierte es natürlich auch so schon augenroll