bestimmte Bots aussperren / zulassen ?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
agent
ansatz
auslese
bestimmte bots
bot
code
dauernde aktualisierung
erkennen
externe http
http
last
nachteil
platzhalter
richtige code
string
teil
treffer
umleitung
url
zugriff
-
Hallo
ich will per .htaccess bestimmte Bots per HTTP_USER_AGENT erkennen,
und (bei Treffer) davon abhalten irgendwas auf der Seite zu machen ....
habe zwei Beispiele gefunden, welcher Weg ist der richtige?
# Mehrere Spambots nach User-Agent aussperren RewriteCond %{HTTP_USER_AGENT} ^.*AsozialerBot [OR] RewriteCond %{HTTP_USER_AGENT} ^.*VerbannterBot [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Java [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Bot4 RewriteRule ^.* [F,L]
oder
# Mehrere Spambots nach User-Agent aussperren RewriteCond %{HTTP_USER_AGENT} ^AsozialerBot [OR] RewriteCond %{HTTP_USER_AGENT} ^VerbannterBot [OR] RewriteCond %{HTTP_USER_AGENT} ^Java [OR] RewriteCond %{HTTP_USER_AGENT} ^Bot4 RewriteRule ^.*$ - [F,L]
oder keines von beiden gut ?
a) ... braucht man im RewriteCond das
um Teil-String zu erkennnen?.*
b) ... und wie sollte die RewriteRule aussehen um Zugriff zu blocken ?
(bzw. Umleitung zum an eine externe http-Seite zum loggen der Zugriffe)
Welche Variante ist die "richtig" um einen Teil-String aus HTTP_USER_AGENT zu erkennen
und bei Treffer den Zugriff zu vermeiden (bzw. auf andere Seite/Domain umleiten zum Loggen)
----> ist es sinnvoll anstatt mit .htaccess die Prüfung in PHP zu machen?
dann müsste ich bei neuen Bots nicht jedesmal die .htaccess umschreiben
sondern könnte die Liste der gesperrten Bots aus DB oder CSV auslesen
oder wie kann man sonst effektiv böse Bots bzw. Crawler aussperren
habe auch robots.txt versucht, alle Agents sperren, nur Googlebot zulassen
User-agent: * Disallow: / User-agent: Googlebot Allow: /
leider kommen damit trotzdem viele "Nicht-Google-Bots" auf meine Seiten
... kurz gesagt: wie sperre ich "böse" Bots aus (mit whitelist oder blacklist) ???
Danke
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
robots.txt hilft nicht bei "bösen" Bots, da diese die "Wünsche", und mehr ist es nicht, einfach ignorieren.
Der Ansatz über die .htaccess ist schon richtig . Beide gezeigten Varianten sind möglich, die Zweite, mit Platzhalter "*" erfasst halt auch bots, bei denen der Name nur als Teilstring vorkommt.
Wenn Du solche Sperrmechanismen wirklich brauchst, solltest Du dir die BOT-Trap mal anschauen. Die greift noch ein wenig weiter und erspart dir die dauernde Aktualisierung deiner Sperrliste.
Nachteil: Das Trap-Skript prüft und filtert bei jedem Seitenaufruf, was bei stark frequentierten Seiten eine durchaus bemerkbare Last erzeugt.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage