Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Fake Google-bots ausssperren

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
GreenHorn
PostRank 10
PostRank 10
Beiträge: 4487
Registriert: 19.12.2005, 15:01

Beitrag von GreenHorn » 18.02.2009, 20:26

Hat jemand den htaccess code zur Hand, mit dem man per allow-ip-liste alle anderen ips die mit Google UA aufschlagen aussperren kann. Ist zur Zeit echt eine Plage, finde aber im Momment nicht den passenden code...

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


t-rex
PostRank 7
PostRank 7
Beiträge: 585
Registriert: 15.03.2004, 14:00

Beitrag von t-rex » 19.02.2009, 12:49

Hi,

hatte mal was direkt in der Apache Dokumentation gelesen. RewriteMap ist dein Freund. Doku findest Du hier https://httpsd.apache.org/docs/2.2/mod/mod_rewrite.html

Damit kannst du einfache Listen auswerten oder die Rule durch ein Perl, PHP oder Shell Skript auswerten lassen.

Ob es in der .htaccess erlaubt ist weiss ich nicht mehr sicher. Ich glaube mich zu erinnern, dass es da den einen oder anderen Stolperstein gab.

Mit einer IP-Liste wäre ich allerdings vorsichtig, zudem mit einer Whitelist. Da ist recht schnell mal der gute Bot nicht freigegeben. Blacklist ist zwar arbeitsintensiver, aber zumindest wird da kein falscher Bot ausgesperrt.

Ich würde das (zumindest als Gegenprobe) über einen Reverse Lookup gegenchecken.

Hier mal der Versuch von Pseudocode

Code: Alles auswählen

if ($USER_AGENT == 'Gogglebot') {
  $blockit = true;
  $google = in_array($REMOTE_ADDR, $IPLISTGOOGLE);
  if (!$google) {
    $badbot = in_array($REMOTE_ADDR, $IPLISTBADBOT);
    $blockit = false;
  }
  if (!badbot && !$google) {
    $hostname = gethostbyaddr($REMOTE_ADDR);
    if (preg_match('/(google.com|googlebot.com)$/', $hostname)) {
      $thisips = gethostbynamel($hostname);
      if (in_array($REMOTE_ADDR, $thisip) {
        $blockit = false;
      }
    }
  }
  if ($blockit) {
    // Mach was du mit dem Client machen möchtest
  }
}
1. Überprüfung Useragent. gibt er sich als Googlebot aus, Überprüfung starten.
2. Vorsorglich wird die Variable $blockit auf true gesetzt.
3. Überprüfung Whitelist. Wenn bekannt und richtig alles Okay. $blockit wird neutralisiert.
4. IP ist nicht in der Whitelist. Gegenprüfen, ob es ein bekannter Fake ist.
5. Ist er kein bekannter Googlebot und kein bekannter Fakebot, DNS-test starten
6. Hostname anhand der übergebenen IP ermitteln.
7. Ist der Hostname der Domain google.com oder dem googlebot.com zuzuordnen, gegen testen.
8. Nun wird die IP oder die IPs anhand des ermittelten Hostnames überprüft. Ist die REMOTE_ADDR in dieser Liste ist es vermutlich ein echter Googlebot. Und $blockit wird auf false gesetzt.

Hoffe es ist von der Logik her richtig :-) aber es sollte jedenfalls den Weg und den Sinn wiedergeben. Es sollte sich mit jeder Scriptsprache, die auf einem Server verfügbar ist, umsetzen lassen. Und es scheint mir auch der sicherste und alles erschlagende Weg sein, um böse Buben mit Fake-Bots auszuschliessen. Es gibt natürlich auch noch zahlreiche Variationen aund anpassungsmöglichkeiten, aber das alles war ja nicht Deine Frage :oops:

Sonnige Grüsse
HaPe
Keiner weiss wass ich tue, aber alle wissen wie ich es besser machen kann
save the bookmark - logocreatr - backgrounds - templatr- PPC Themes

bloddy newbie
PostRank 4
PostRank 4
Beiträge: 171
Registriert: 18.05.2006, 20:15

Beitrag von bloddy newbie » 19.02.2009, 15:10

Hallo,

in der Art (schließt andere IP-Adressen als aufgeführt mit dem User Agent "googlebot" aus):

Code: Alles auswählen

RewriteCond %{HTTP_USER_AGENT} googlebot
RewriteCond %{REMOTE_ADDR} !^1.1.1.1 [OR] 
RewriteCond %{REMOTE_ADDR} !^2.2.2.2 [OR] 
# alles was nicht aus 2.2.3.* kommt
RewriteCond %{REMOTE_ADDR} !^2.2.3. [OR]
RewriteRule ^.* - [F]
Es können sowohl einzelne IP Adressen oder auch ganze Blocks zu definiert werden.

Grüße
BN

GreenHorn
PostRank 10
PostRank 10
Beiträge: 4487
Registriert: 19.12.2005, 15:01

Beitrag von GreenHorn » 19.02.2009, 21:18

Könnte also das korrekt sein?

Code: Alles auswählen

RewriteCond %{HTTP_USER_AGENT} Googlebot
RewriteCond %{REMOTE_ADDR} !^209.185. [OR]
RewriteCond %{REMOTE_ADDR} !^209.85. [OR]
RewriteCond %{REMOTE_ADDR} !^216.239. [OR] 
RewriteCond %{REMOTE_ADDR} !^216.33. [OR]
RewriteCond %{REMOTE_ADDR} !^64.233. [OR]
RewriteCond %{REMOTE_ADDR} !^64.68. [OR]
RewriteCond %{REMOTE_ADDR} !^66.249. [OR]
RewriteCond %{REMOTE_ADDR} !^72.14. [OR]
RewriteCond %{REMOTE_ADDR} !^8.6.
RewriteRule ^.* - [F]
Danke für die bisherigen Antworten!
Zuletzt geändert von GreenHorn am 20.02.2009, 09:54, insgesamt 2-mal geändert.

Michael
PostRank 8
PostRank 8
Beiträge: 808
Registriert: 04.01.2004, 20:23
Wohnort: Herne

Beitrag von Michael » 19.02.2009, 22:08


GreenHorn
PostRank 10
PostRank 10
Beiträge: 4487
Registriert: 19.12.2005, 15:01

Beitrag von GreenHorn » 19.02.2009, 22:51

Michael hat geschrieben:Hier eine Empfehlung von Google!

https://googlewebmastercentral.blogspot ... lebot.html
Danke. aber das geht mir meilenweit am Popo vorbei, es geht hier um Prävention und nicht um Nachsorge...

profo
PostRank 9
PostRank 9
Beiträge: 1703
Registriert: 18.01.2007, 18:51

Beitrag von profo » 20.02.2009, 00:15

@greenhorn, wo hast Du denn die schicke Liste her? Aber bist Du Dir bei den IPs sicher?

Da sind ja schließlich auch Netze von großen Webhostern dabei; bei einem 16er Range im htaccess hättest Du dann natürlich trotzdem massenhaft Spamkandidaten. Was ist zum Beispiel mit 209.85/16 (209.85.0.0/17 == NETBLK-THEPLANET-BLK-EV1-15)..., ist da irgendwo Google dabei?

w3news
PostRank 8
PostRank 8
Beiträge: 938
Registriert: 10.10.2006, 23:17
Wohnort: Berlin

Beitrag von w3news » 20.02.2009, 01:02

GreenHorn hat geschrieben:
Michael hat geschrieben:Hier eine Empfehlung von Google!

https://googlewebmastercentral.blogspot ... lebot.html
Danke. aber das geht mir meilenweit am Popo vorbei, es geht hier um Prävention und nicht um Nachsorge...
Wenn ich das aber richtig verstehe muss man doch nur die IP des Googlebots umwandeln und checken ob dann dabei *.googlebot.com herauskommt und das sollte man doch auch schon vorab checken können...
MfG Lars

News, Tarife und Mobilfunk: w3news.de
Mobile Datenflatrates

profo
PostRank 9
PostRank 9
Beiträge: 1703
Registriert: 18.01.2007, 18:51

Beitrag von profo » 20.02.2009, 01:34

@w3news, das geht, ist aber nicht ganz trivial. Gerade wenn Du "live" bei den Requests nachschaust. Das verlangt dann wahrscheinlich eine gute Caching-Strategie und ein bisschen Nachdenken; die DNS-Lookups dauern nämlich selbst bei gut laufenden DSN-Servern ohne Netzwerkstörung ein bisschen. Auf jeden Fall ist das nichts, was man mal so eben in die htaccess eintragen kann, meine ich...

GreenHorn
PostRank 10
PostRank 10
Beiträge: 4487
Registriert: 19.12.2005, 15:01

Beitrag von GreenHorn » 20.02.2009, 09:47

@profo
Ja... :D Kann man präzisieren, je nach Bedarf.
Hier eine IP Liste https://www.iplists.com/google.txt
Muß man natürlich up to date bleiben...

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag