So, Daniel hat mir Mitte der Woche seine Lösung gegeben, wie er erfolgreich Spam-Bots davon abhält, sich in seinem PHPBB-Forum zu registrieren. Die Lösung scheint (bisher) sehr effektiv zu sein und ist zu dem sehr einfach.
Wie er schon geschrieben hat, enthält die Seite mit der Registrierung ein zusätzliches Feld, in dem eine Ziffer eingeben werden muss. Der Name des Feldes ist immer der gleiche und die Zahl ist auch immer die selbe. Das ist das einfache an der Lösung. Da die Spam-Bots aber nur für standard Login-Formulare programmiert sind und zu dem stroh doof, ist dies sehr wirkungsvoll. Für Menschliche Spam-Bots stellt dies natürlich keinen wirksamen Schutz dar, aber zur Zeit scheint es noch keine oder nicht sehr viele menschliche Spam-Bots zu geben, die für Geld Foren-Accounts erstellen, um dann in dem Forum Spam zu verbreiten. Bisher hat sich noch kein Spam-Bot bei mir wieder angemeldet und dem zu folge gab es auch noch keine neuen Fälle von Spam-Postings in meinem Forum.
Die Lösung im einzelnen:
Zitat von
Daniel:
Hallo Michael,
ich hab's jetzt - es ist zum Glück recht simpel. Prinzip ist Folgendes: Das Eingabeformular wird um ein zusätzliches Feld erweitert, in welches zwingend eine feste Ziffer (die 7) eingegeben werden muss.
(1) Öffne Datei /includes/usercp_register.php
(2) Finde "if ($board_config['enable_confirm'] && $mode == 'register')"
(3) Füge
_DAVOR_ ein:
Code:
////
//// Confirm-Number BEGIN
////
$cNumber = (isset($HTTP_POST_VARS['confirm_number'])) ? intval( $HTTP_POST_VARS['confirm_number'] ) : 0;
if ($cNumber != 7){
$error = TRUE;
$error_msg .= ( ( isset($error_msg) ) ? '
' : '' ) . $lang['Confirm_code_wrong'];
}
unset( $cNumber );
////
//// Confirm-Number END
////
(4) Öffne Datei "/templates/subSilver/profile_add_body.tpl"
(5) Finde ""
(6) Füge
_DANACH_ ein:
Code:
<tr>
<td class="row1"><span class="gen">Gebe in nebenstehendes Feld bitte die Ziffer __sieben__ ein:</span>
<span class="gensmall">Dieses Feld wird benötigt, damit das automatische Erzeugen von Accounts zwecks Werbung erschwert wird.</span></td>
<td class="row2"><input type="text" class="post" style="width: 200px" name="confirm_number" size="6" maxlength="6" value="" /></td>
</tr>
Ist simpel, geht aber bei mir absolut zuverlässig. Ich bin auf Deine Erfahrungen gespannt.