Spambots ärgern
Verfasst: 07.06.2006 16:58
Ich hatte in letzter Zeit in einigen Foren Probleme mit Bots die ständig irgend einen Schrott posten, also hab ich mir überlegt wie man das unterbinden kann. Dazu hab ich mir selber mal so einen Spambot geschrieben und auf mein Forum angesetzt. Für so einen Bot ist es überhaupt kein Problem im Sekundentakt neue User anzulegen oder Beiträge zu schreiben, allerdings geht der Bot immer von einem Standart phpBB aus. Wenn man da ein paar Kleinichkeiten ändert kann man nicht nur verhindern das sich der Bot registriert sondern ihn auchnoch ein bisschen ärgern.
Als erstes muss man das Formularfeld für den Benutzernamen ändern damit der Bot beim registrieren keinen gültigen Benutzernamen mehr übergeben kann und sich so auch nicht anmelden kann.
Ersetze IRGENDWAS durch ein beliebiges Wort.
Öffne die /includes/usercp_register.php und suche:
ersetzte es mit:
Öffne die /templates/.../profile_add_body.tpl und suche 2x:
ersetzte es mit:
Jetzt können sich die Standart-Bots schonmal nichtmehr anmelden, aber man kann sie zusätzlich noch ein bisschen ärgern. Ein normaler Besucher kann jetzt kein Formularfeld mit dem Namen "username" mehr übergeben, Bots tun das aber weiterhin, also lässt man alles was "username" übergibt einfach mal ein bisschen warten.
Öffne die /includes/usercp_register.php und suche:
füge davor ein:
Wenn ein Bot jetzt versucht sich zu registrieren wird er einfach 20 Sekunden aufgehatlen und kann in der Zeit schonmal keine anderen Foren belästigen.
Als erstes muss man das Formularfeld für den Benutzernamen ändern damit der Bot beim registrieren keinen gültigen Benutzernamen mehr übergeben kann und sich so auch nicht anmelden kann.
Ersetze IRGENDWAS durch ein beliebiges Wort.
Öffne die /includes/usercp_register.php und suche:
Code: Alles auswählen
$username = ( !empty($HTTP_POST_VARS['username']) ) ? phpbb_clean_username($HTTP_POST_VARS['username']) : '';
Code: Alles auswählen
$username = ( !empty($HTTP_POST_VARS['IRGENDWAS']) ) ? phpbb_clean_username($HTTP_POST_VARS['IRGENDWAS']) : '';
Code: Alles auswählen
name="username"
Code: Alles auswählen
name="IRGENDWAS"
Öffne die /includes/usercp_register.php und suche:
Code: Alles auswählen
$trim_var_list = array('cur_password' => 'cur_password', 'new_password' => 'new_password', 'password_confirm' =>
Code: Alles auswählen
if ($HTTP_POST_VARS['username']) { sleep (20); }