
[center](Originalbeitrag hier auf phpbb.de)[/center]TK hat geschrieben:... Also habe ich mir in meinen Server-Logs die Registrierungen der Bots näher angeschaut, wobei mir eines aufgefallen ist: Allesamt haben sie vorher keine andere Seite besucht, sondern sind zuallererst direkt auf die Seite /profile.php?mode=register&agreed=true gegangen, um dann das Bild mit dem Bestätigungs-Code nachzuladen.
/profile.php?mode=register&agreed=true wurde in allen Fällen allerdings immer nur via GET angefordert, was mich auf eine Idee brachte: Die einfachste Lösung ist es doch, ein "true" der Variable "agreed" nur noch via POST-Übergabe zu akzeptieren.
...
TK bestätigt mir in seinem Beitrag etwas, das ich auch schon mal vermutet hatte.

Ich war nur zu faul mir die Serverlogs mal genau anzusehen um Analysieren zu können ob meine Änderungen wirklich Früchte tragen.

Wie dem auch sei. Es scheint zu funktionieren.

Und damit ihr auch etwas davon habt sind hier meine Änderungen, die mit denen von TK nahezu Identisch sind:
- Code: Alles auswählen
################################################################################
##
## Mod Title: Fight against BOT registrations
## Mod Author: AmigaLink < webmaster@amigalink.de > (Markus Schmidt) http://www.EssenMitFreude.info
##
################################################################################
##
## The following sites also contain the latest version of this MOD:
##
## http://www.AmigaLink.de
##
## Full support for this MOD can be obtained at:
##
## http://www.AmigaLink.de
##
################################################################################
#
#-----[ OPEN ]----------------------------------------------------------------
#
includes/usercp_register.php
#
#-----[ FIND ]----------------------------------------------------------------
#
if ( $mode == 'register' && !isset($HTTP_POST_VARS['agreed']) && !isset($HTTP_GET_VARS['agreed']) )
#
#-----[ REPLACE WITH ]--------------------------------------------------------
#
if ( $mode == 'register' && !isset($HTTP_POST_VARS['agreed']) )
#
#-----[ FIND ]----------------------------------------------------------------
#
$coppa = ( empty($HTTP_POST_VARS['coppa']) && empty($HTTP_GET_VARS['coppa']) ) ? 0 : TRUE;
#
#-----[ REPLACE WITH ]--------------------------------------------------------
#
$coppa = ( empty($HTTP_POST_VARS['coppa']) ) ? 0 : TRUE;
#
#-----[ OPEN ]----------------------------------------------------------------
#
language/lang_english/lang_main.php
#
#-----[ FIND ]----------------------------------------------------------------
#
$lang['Agree_under_13'] = 'I Agree to these terms and am <b>under</b> 13 years of age';
$lang['Agree_over_13'] = 'I Agree to these terms and am <b>over</b> or <b>exactly</b> 13 years of age';
$lang['Agree_not'] = 'I do not agree to these terms';
#
#-----[ REPLACE WITH ]--------------------------------------------------------
#
$lang['Agree_under_13'] = 'I Agree to these terms and am under 13 years of age';
$lang['Agree_over_13'] = 'I Agree to these terms and am over or exactly 13 years of age';
$lang['Agree_not'] = 'I do not agree to these terms';
#
#-----[ OPEN ]----------------------------------------------------------------
#
language/lang_german/lang_main.php
#
#-----[ FIND ]----------------------------------------------------------------
#
$lang['Agree_under_13'] = 'Ich bin mit den Konditionen dieses Forums einverstanden und <b>unter</b> 12 Jahre alt.';
$lang['Agree_over_13'] = 'Ich bin mit den Konditionen dieses Forums einverstanden und <b>über</b> oder <b>exakt</b> 12 Jahre alt.';
$lang['Agree_not'] = 'Ich bin mit den Konditionen nicht einverstanden.';
#
#-----[ REPLACE WITH ]--------------------------------------------------------
#
$lang['Agree_under_13'] = 'Ich bin mit den Konditionen dieses Forums einverstanden und unter 12 Jahre alt.';
$lang['Agree_over_13'] = 'Ich bin mit den Konditionen dieses Forums einverstanden und über oder exakt 12 Jahre alt.';
$lang['Agree_not'] = 'Ich bin mit den Konditionen nicht einverstanden.';
#
#-----[ OPEN ]----------------------------------------------------------------
#
templates/subSilver/agreement.tpl
#
#-----[ FIND ]----------------------------------------------------------------
#
<td><span class="genmed"><br />{AGREEMENT}<br /><br /><br /><div align="center"><a href="{U_AGREE_OVER13}" class="genmed">{AGREE_OVER_13}</a><br /><br /><a href="{U_AGREE_UNDER13}" class="genmed">{AGREE_UNDER_13}</a><br /><br /><a href="{U_INDEX}" class="genmed">{DO_NOT_AGREE}</a></div><br /></span></td>
#
#-----[ REPLACE WITH ]--------------------------------------------------------
#
<td><span class="genmed"><br />{AGREEMENT}<br /><br /><br /><div align="center">
<form method="post" action="{U_AGREE_OVER13}"><input type="hidden" name="agreed" value="true"><input type="submit" class="mainoption" style="border:2px solid" value="{AGREE_OVER_13}"></form><br /><br />
<form method="post" action="{U_AGREE_UNDER13}"><input type="hidden" name="agreed" value="true"><input type="hidden" name="coppa" value="true"><input type="submit" class="mainoption" style="border:1px solid" value="{AGREE_UNDER_13}"></form><br /><br />
<form method="post" action="{U_INDEX}"><input type="submit" class="mainoption" style="border:1px solid" value="{DO_NOT_AGREE}"></form></div><br /></span></td>
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------------
#
# EoM