Against BOT registrations

Kleine Codeänderungen oder Mini-MODs
Keine Anfragen!!! -- No requests!!!

Moderator: Supporter

Against BOT registrations

Beitragvon AmigaLink » 20. Dez 2006 17:21

Eine weitere recht geniale Idee zum bekämpfen von Automatischen Registrierungen via BOTs. :twisted:
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.
...
[center](Originalbeitrag hier auf phpbb.de)[/center]
TK bestätigt mir in seinem Beitrag etwas, das ich auch schon mal vermutet hatte. 8)
Ich war nur zu faul mir die Serverlogs mal genau anzusehen um Analysieren zu können ob meine Änderungen wirklich Früchte tragen. :oops:
Wie dem auch sei. Es scheint zu funktionieren. :mrgreen:
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
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon oxpus » 20. Dez 2006 17:40

Hey Cool!
Schnuckelig, klein und funktionabel.

Klasse!!!

Du hast nur in der Zeile
Code: Alles auswählen
$coppa = ( empty($HTTP_POST_VARS['coppa'] ) ? 0 : TRUE;

eine Klammer vergessen.
Also so wäre es korrekt:
Code: Alles auswählen
$coppa = ( empty($HTTP_POST_VARS['coppa'] )) ? 0 : TRUE;
Kein Support ausserhalb der Foren!
No support outside the forums!
Benutzeravatar
oxpus
Partner
 
Beiträge: 610
Registriert: 14. Okt 2004 11:55
Wohnort: Bad Wildungen (halt so'n kleines Kurkaff)

Beitragvon AmigaLink » 20. Dez 2006 17:44

Ups, wird sofort berichtigt. :)
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon oxpus » 20. Dez 2006 18:07

Wenns Recht ist, werde ich das Snippet auch bei mir veröffentlichen.
Selbstverständlich mit Quellenangabe!
Kein Support ausserhalb der Foren!
No support outside the forums!
Benutzeravatar
oxpus
Partner
 
Beiträge: 610
Registriert: 14. Okt 2004 11:55
Wohnort: Bad Wildungen (halt so'n kleines Kurkaff)

Beitragvon AmigaLink » 20. Dez 2006 18:10

Klar, mach du ruhig. :)
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon BigRib » 20. Dez 2006 18:13

hehe die idee hatte ich auch schon nur wollte ich es mal wieder etwas schwerer machen mit einem variablen string der übergeben wird.

Aber das man auch einfach nur post eingaben akzeptieren kann ist die einfachere version :)
Gruß BigRib
Benutzeravatar
BigRib
Partner
 
Beiträge: 95
Registriert: 4. Sep 2004 22:45
Wohnort: Reutlingen

Beitragvon oxpus » 20. Dez 2006 18:14

Naja, für die meisten Spam-Account-Roboter der schnellste und sehr effektive Weg, denn POST-Daten kann man nicht per Link schicken ;)
Kein Support ausserhalb der Foren!
No support outside the forums!
Benutzeravatar
oxpus
Partner
 
Beiträge: 610
Registriert: 14. Okt 2004 11:55
Wohnort: Bad Wildungen (halt so'n kleines Kurkaff)

Beitragvon BigRib » 20. Dez 2006 18:29

Aber man kann doch auch ein formular an eine andere webseite übergeben odeR?
Gruß BigRib
Benutzeravatar
BigRib
Partner
 
Beiträge: 95
Registriert: 4. Sep 2004 22:45
Wohnort: Reutlingen

Beitragvon oxpus » 20. Dez 2006 18:34

? Öh ja, aber auch die Session - ID mitnehmen?
Kein Support ausserhalb der Foren!
No support outside the forums!
Benutzeravatar
oxpus
Partner
 
Beiträge: 610
Registriert: 14. Okt 2004 11:55
Wohnort: Bad Wildungen (halt so'n kleines Kurkaff)

Beitragvon AmigaLink » 20. Dez 2006 18:41

Früher oder später werden BOTs auch dieses Snippet umgehen können. Aber dann kommt ja noch der AVC an dem sie vorbei müssen. ;)

Keine Maßnahme stellt eine Ultimative und dauerhafte Lösung des Problems dar. Aber je mehr ein BOT zu beachten hat, umso schwerer haben es diejenigen die das Ding programmieren.
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Nächste

Zurück zu phpBB2 Snippets



Wer ist online?

Mitglieder in diesem Forum: Magpie [Crawler] und 1 Gast

cron