Archive

Archive for the ‘Internet’ Category

Did You Know 4.0

September 25th, 2009

… wie schon mal vor einem halben Jahr (da war’s 3.0):

Did You Know 4.0

via BloggingTom

Dominik Deobald Internet , , , ,

Did You Know?

March 31st, 2009

History of the Internet

March 22nd, 2009

History of the Internet (by picolsigns)

Dominik Deobald Internet , , ,

Sinnlosen Bot-Traffic vermeiden

December 16th, 2008

Im WWW wimmelt es inzwischen ja nur so von verschiedenen Bots. Manche füttern Suchmaschinen, manche machen anderes. Manche sind sinnvoll für Webseiten-Betreiber, manche nicht.

Ich habe inzwischen angefangen, besonders sinnlose, störende oder sogar schädliche Spider auszusperren, die unsere Webseiten herunterladen wollen. Immerhin verbrauchen die unsere Bandbreite und unsere Rechenleistung, die wir an anderer Stelle besser einsetzen können.

Einige Bots sind ja noch so nett und schauen erst mal in die robots.txt, ob sie Daten abrufen dürfen. Andere greifen einfach zu. Und die allerschlimmsten sind die, die sich noch nicht mal als Bot identifizieren. Gegen die ist nicht so leicht anzukommen – denn man erkennt sie einfach nicht.

Ein paar von dieser Sorte sperre ich grundsätzlich in der .htaccess anhand der IP aus:

1
2
3
4
5
6
7
8
9
10
SetEnvIfNoCase Remote_Addr "^82.99.30." banned
SetEnvIfNoCase Remote_Addr "^69.58.178." banned
SetEnvIfNoCase Remote_Addr "^69.84.207." banned
SetEnvIfNoCase Remote_Addr "^91.205.124." banned
SetEnvIfNoCase Remote_Addr "^86.162.11.102" banned
SetEnvIfNoCase Remote_Addr "^82.99.30." banned
 
order allow,deny
allow from all
deny from env=banned

Das ist allerdings nur ein Tropfen auf den heißen Stein… Diese IPs sind sehr spezifisch und sind einfach ein paar, die mir negativ aufgefallen sind.

Bei den folgenden Bots / User Agents ist das einfacher. Damit diese Regeln funktionieren muss vorher mod_rewrite mit “RewriteEngine On” eingeschaltet werden.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
RewriteCond %{HTTP_USER_AGENT} ^<a rel="nofollow" href="http://www.bagl.co.uk/">BAGL</a>/Nutch-0.9 [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^<a rel="nofollow" href="http://www.baidu.com/">Baiduspider</a> [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^<a rel="nofollow" href="http://commoncrawl.org/">CCBot</a> [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^Java/ [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^Microsoft\ URL\ Control [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^Python-urllib [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^sonarv [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^<a rel="nofollow" href="http://www.touche.com.ve/">Touche</a> [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^<a rel="nofollow" href="http://www.yanga.co.uk/">Yanga</a> [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^Yeti/ [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^<a rel="nofollow" href="http://www.bdbrandprotect.com">BPImageWalker</a>/ [OR,NC]
RewriteCond %[HTTP_USER_AGENT} ^QRVA [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*<a rel="nofollow" href="http://www.naver.com/">NaverBot</a>/ [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*<a rel="nofollow" href="http://www.dontbuylists.com/">DBLBot</a>/ [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*<a rel="nofollow" href="http://www.discoveryengine.com/discobot.html">discobot</a>/ [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*<a rel="nofollow" href="http://www.dotnetdotcom.org/">DotBot</a>/ [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*<a rel="nofollow" href="http://www.majestic12.co.uk/projects/dsearch/mj12bot.php">MJ12bot</a>/ [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*<a rel="nofollow" href="http://www.voila.fr/">VoilaBot</a> [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*Pockey [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*NetMechanic [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*<a rel="nofollow" href="http://www.sparkleware.com/superbot/">SuperBot</a> [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*WebMiner [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*<a rel="nofollow" href="http://www.maximumsoft.com/products/wc_windows/overview.html">WebCopier</a> [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*Web\ Downloader [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*WebMirror [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*Offline [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*<a rel="nofollow" href="http://www.spidersoft.com/webzip/">WebZIP</a> [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*<a rel="nofollow" href="http://www.webreaper.net/">WebReaper</a> [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*Anarchie [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*Mass\ Down [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*<a rel="nofollow" href="http://www.softbytelabs.com/de/bw/index.html">BlackWidow</a> [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*<a rel="nofollow" href="http://webstripper.net/">WebStripper</a> [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*WebHook [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*Scooter [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*<a rel="nofollow" href="http://swish-e.org/">swish-e</a> [OR,NC]
RewriteCond %{HTTP_USER_AGENT} ^.*<a rel="nofollow" href="http://www.tenmax.com/teleport/pro/home.htm">Teleport</a>[NC]
RewriteRule ^.*$ - [F,L]

Was sperren diese Regeln aus?

  • Eine Hand voll Tools, die komplette Webseiten herunterladen
    Etwa Teleport oder WebReaper. Es gibt keinen wirklichen Sinn, das zu tun. Hier könnten und sollte eigentlich auch wget mit drin stehen, aber das verwenden wir stellenweise intern.
  • Diverse “Libraries”, die Programmierer verwenden können, um Webseiten abzurufen
    Etwa Java, Python-urllib und Microsoft URL Control. Diese Libraries werden oft verwendet, um SPAM-Bots zu schreiben oder um Webseiten zu “rippen”, um sie auf dem eigenen Webserver mit eigener Werbung zu spiegeln. Natürlich wird auf diesem Weg nicht die Library selbst ausgesperrt, sondern nur die User, die sich mit den Standard-UserAgents identifizieren. Ähnlich wie oben wget wäre hier auch auf Wunsch noch cURL einzufügen.
  • Einige asiatische Suchmaschinen
    Zum Beispiel Baidu oder Naver. Auf diesem Weg verhindern  wir vielleicht, dass manche Personen uns finden, aber Asien gehört nicht wirklich zu unserer Zielgruppe.
  • Einige sinnlose Suchmaschinen
    Das sind Suchmaschinen, die einfach (noch?) keine Relevanz haben oder die in unserer Zielgruppe keine Relevanz haben. Hier wären beispielsweise Yanga und Voila zu nennen. Stellenweise habe ich auch Cuil ausgesperrt (nicht in dieser Liste oben). In diesen Fällen steht die durch die Bots erzeugte Last auf unseren Servern in keiner Relation zu den auf diesem Weg erreichten Besuchern. Wenn beispielsweise ein Bot jeden Tag 1000 Dateien abruft, dann aber nur ein Besucher im Monat gebracht wird, dann macht das einfach keinen Sinn.
  • Einige komplett sinnlose Bots
    Da zu nennen wären beispielsweise der MJ12bot und der CCBot. Die sammeln einfach nur Daten und behaupten, irgendwann mal was sinnvolles damit zu tun. Von Majestic12 gibt es immerhin inzwischen eine Alpha-Version von der Suchfunktion. Die Relevanz ist allerdings gleich null.

Etwas anders – der Vollständigkeit halber aber auch erwähnt – ist das hier:

1
2
3
4
5
6
7
8
9
10
RewriteRule wp-login\.php - [F,L]
RewriteRule xmlrpc\.php - [F,L]
RewriteRule wp-atom\.php - [F,L]
RewriteRule login_page\.php$ - [F,L]
RewriteRule include\.php$ - [F,L]
RewriteRule php.*my.*admin - [NC,F,L]
RewriteRule mysql - [NC,F,L]
RewriteRule typo3 - [NC,F,L]
RewriteRule xampp - [NC,F,L]
RewriteRule w00tw00t - [F,L]

Damit sperre ich diverse URLs, die gerne von Hackern aufgerufen werden, die einfach mal schauen, was es für Angriffsflächen gibt,  und beantworte sie mit 403 FORBIDDEN.

Eigentlich ziemlich sinnlos, denn die entsprechenden Dateien gibt’s auf den Servern ohnehin nicht – und wenn doch, dann will man sie normalerweise auch aufrufen können. Aber es werden auf diese Weise doch ein paar Bytes gespart, da die 403 FORBIDDEN Fehlermeldung im Normalfall kleiner ist als die 404 NOT FOUND Datei.

Außerdem sind 404 NOT FOUND Seiten oft auch irgendwie mit der Datenbank verknüpft. Die 403 FORBIDDEN Seite kann man einfach ausgeben, während man das 404 NOT FOUND in der Regel mit einer Hilfestellung für die User verbinden möchte. Hackern ist es in der Regel egal, ob sie einem den Server durch viele schnell aufeinander folgende Aufrufe lahmlegen. Von daher: einfach eine statische 403 FORBIDDEN Seite rausjagen. Das erzeugt nahezu keine Server-Last.

And last, but not least: Man kann dann in der Log-Datei die entsprechenden Aufrufe leichter identifizieren.

Dominik Deobald Internet , , , , ,

You have no Friends – Freundliche Software

May 17th, 2007

You have no Friends
Danke, YouTube… So genau wollte ich das gar nicht wissen…Warum hat sich eigentlich unter vielen Software-Autoren noch nicht rumgesprochen, dass man den Nutzer nicht unbedingt zur Sau machen sollte? Ein bisschen Höflichkeit ist manchmal angebracht – und schon sind die User viel zufriedener.Ein Beispiel sind Fehlermeldungen: Was spricht dagegen, statt “Username oder Passwort falsch!” ein freundliches “Es tut mir leid, aber die eingegebene Kombination von Username und Passwort ist mir unbekannt.” auszugeben?

Natürlich sind es aus der Sicht des Software-Entwicklers immer die doofen User, die die Fehler machen. Die Software ist unfehlbar.

Der Computer hat im Gegensatz zum Menschen aber noch einen ganz gewaltigen Vorteil: Er kann nicht beleidigt werden und auch keine schlechte Laune bekommen. Natürlich war es der User, der etwas falsches eingegeben hat. Aber dem Computer ist es egal, ob er den User dafür beschimpft, oder sich bei ihm – wie ein untertäniger Butler – für seine Unfähigkeit, den Wunsch des Users zu erfüllen, entschuldigt.

Eine Studie von Jeng-Yi Tzeng von der taiwanesischen Tsing-Hua-Universität hat bereits vor drei Jahren bewiesen:

Arrogante Software, die quasi den Nutzern die Schuld in die Schuhe schiebe, verärgere genauso wie arrogante Menschen.” Tzeng ist überzeugt: “Software-Designer müssen die Haltung entwickeln, dass der Nutzer immer Recht hat.”

Dominik Deobald Internet, User Interface

Google und DoubleClick

April 17th, 2007

Wer meinen privaten Blog kennt, der hat vielleicht schon mitbekommen, dass ich gegenüber Google eine eher vorsichtige Einstellung habe und es mir langsam zu groß wird… Und es geht weiter:

Google kauft DoubleClick für 3,1 Milliarden US-Dollar

Im Rennen um das Online-Werbeunternehmen DoubleClick hat sich Google unter anderem gegen Microsoft durchgesetzt. Allerdings zahlt Google dafür einen stolzen Preis von 3,1 Milliarden US-Dollar, nachdem im Vorfeld darüber spekuliert wurde, DoubleClick könne für rund 2 Milliarden US-Dollar den Besitzer wechseln.

Der eine oder andere könnte wissen, dass 4cheaters.de durch orangemedia vermarktet wird. Orangemedia wiederum setzte bis vor kurzem auf die Ad-Server von Falk… Bis diese von DoubleClick aufgekauft wurden. Ende des Monats muss ich also die AdTags auf der Seite umgestellt haben.

Dann hat DoubleClick noch ein Stückchen AdTech eingekauft – und jetzt: Alles ab an Google.

Da schrillen nicht nur bei Microsoft die Alarmglocken.

Auch wenn jetzt ein der Blogosphäre wieder einige die Möglichkeit wittern, diese Microsoft-Warnung umzudrehen und ein “Windows is evil” daraus zu machen.

Ich muss ganz persönlich sagen, dass mir der Machthunger von Google wesentlich weniger zusagt, als das Microsoft-Verhalten der letzten Jahre…

Das Ziel von Google besteht darin, die Informationen der Welt zu organisieren und allgemein nutzbar und zugänglich zu machen. [google.de]

Dominik Deobald Internet