Bots abwehren
Frey
- sonstiges
Hi,
in robots.txt sperre ich einige meiner Seiten. Die böswilligen bots ignorieren dies offenbar. Alle jene in .htaccess auszuschleßen ist wohl vergebliche Liebesmühe. Gibt es aber umgekehrt eine Liste der "anständigen" Suchmaschinen, die man zulassen könnte?
Moin!
Hi,
in robots.txt sperre ich einige meiner Seiten. Die böswilligen bots ignorieren dies offenbar. Alle jene in .htaccess auszuschleßen ist wohl vergebliche Liebesmühe. Gibt es aber umgekehrt eine Liste der "anständigen" Suchmaschinen, die man zulassen könnte?
Damit bräuchtest du auch eine Liste der "anständigen Browser" deiner Besucher, die du zulassen willst.
Was ist dein Problem mit den Bots? Vielleicht löst sich das Problem anders.
- Sven Rautenberg
Die böswilligen bots ignorieren dies offenbar.
Klar, ein Einbrecher ignoriert ja auch das Gesetz das Einbrüche verbietet ;-)
Wie willst du rausfinden was ein Bot ist und was nicht?
Wie willst du rausfinden was ein Bot ist und was nicht?
Mit Gewissheit: gar nicht!
Es gibt aber statistische Ansätze bzw. verursachen zumindest dumm/einfach programmierte Roboter bestimmte Muster, die ein Mensch wahrscheinlich gar nicht machen würde (z.B. extrem schnelle Seitenwechsel).
Ein Tip:
Versteck mal einen Fliegenschisslink, also einfach irgendwo ein Leerzeichen verlinken und dann auswerten, wer das aufgerufen hat. Ein Mensch sieht den Link nicht und wird ihn nicht aufrufen...
Ein Tip:
Versteck mal einen Fliegenschisslink, also einfach irgendwo ein Leerzeichen verlinken und dann auswerten, wer das aufgerufen hat. Ein Mensch sieht den Link nicht und wird ihn nicht aufrufen...
In der Auswertung erscheinen ja dann auch alle seriösen Roboter!
In der Auswertung erscheinen ja dann auch alle seriösen Roboter!
Du hast noch immer nicht geschrieben, was Dich zu Deinem Wollen treibt und welche Art von "bots" Du ausschließen willst.
Liest Du eigentlich die Fragen, die man Dir stellt um Dir effektiv helfen zu können?
Ein Tip:
Versteck mal einen Fliegenschisslink, also einfach irgendwo ein Leerzeichen verlinken und dann auswerten, wer das aufgerufen hat. Ein Mensch sieht den Link nicht und wird ihn nicht aufrufen...
Das klappt nur für Klick-Bots, das dürften vermutlich die wenigsten sein
Hi,
in robots.txt sperre ich einige meiner Seiten. Die böswilligen bots ignorieren dies offenbar. Alle jene in .htaccess auszuschleßen ist wohl vergebliche Liebesmühe. Gibt es aber umgekehrt eine Liste der "anständigen" Suchmaschinen, die man zulassen könnte?
Umgekehrt! Es gibt eine Liste angreifender/verseuchter Rechner. Die kann allerdings nie vollständig sein. Benutzung über die API:
http://www.blocklist.de/de/api.html
Nur die in den letzten 12 Stunden hinzugefügten IP-Adressen abrufen:
<?php
$lastTime=12*60*24;
if ($lastTime > 49999) {$lastTime=49999;} # max ist 49999
$blocks=trim(file_get_contents("http://api.blocklist.de/getlast.php?time=$lastTime"));
$blocks=explode("\n", $blocks);
$blocks="\ndeny from " . implode("\ndeny from ", $blocks);
$file=file_get_contents(".htaccess");
$file=explode("### blocklist.de ###\n", $file);
$file=$file[0] . "### blocklist.de ###" . $blocks;
file_put_contents(".htaccess", $file);
?>
* Dieses aller Stunden via Cronjob ausgeführt vermindert unnötigen Traffic. AVE: Überlege ob sich das lohnt!
* AVE! Sicherheit gibts aber woanders!(TM)
* Hast Du eine Firewall, die Du selbst konfigurierst, dann wirst Du hoffentlich wissen wie diese zu konfigurieren ist.
Alternativ kannst Du auch bei jedem Request die verschiednenen DNS-Server von blocklist.de befragen. Eine Lösung sähe so aus:
<?php
function in_blocklist($ip) {
### Benutzung:
# if (in_blocklist($_SERVER['REMOTE_ADDR'])) {
# header("HTTP/1.0 403 Forbidden");
# exit
# }
$tupel=explode('.', $ip);
$ip_query=implode('.', array_reverse(explode('.', $ip)));
$sys='host ' . $ip_query . '.all.bl.blocklist.de'; ### ggf anpassen ###
$antwort=trim(`$sys`).' ';
if (strpos($antwort, '127.0.0.')) {
return true;
} else {
return false;
}
}
# Test:
# /*
if (in_blocklist('91.232.96.27')) {
die ("91.232.96.27 ist in blocklist\n");
} else {
die ("91.232.96.27 ist NICHT in blocklist\n");
}
# */
?>
Auch hier sollte der Apache oder besser noch gleich die Firewall dazu gebracht werden, weitere Zugriffsveruche zu unterbinden.
AVE! Auf die mögliche Verzögerung beim Abruf der Seiten weise ich hin. Bitte lese auch die Hinweise bei blocklist.de zur Nutzun.
Hi,
AVE: Überlege ob sich das lohnt!
* AVE! Sicherheit gibts aber woanders!(TM)
AVE! Auf die mögliche Verzögerung
Sei auch Du gegrüßt! Kann es sein, daß Du CAVE meinst, wenn Du AVE schreibst? ("Ave Maria" vs. "Cave Canem", zu deutsch "Gegrüßet seist Du, Maria" va. "Hüte Dich vor dem Hund!")
cu,
Andreas