Seite 1 von 1

daroPL Antispam - Überprüfung der Funktionalität

Verfasst: 13.03.2010 15:45
von Hinnerk
daroPL Antispam 1.4.0 soll Spam-Anmeldungen und Registrierungen von Spam-Bots verhindern, "in dem der Name für das Eingabefeld des CPATCHA-Bildes in einen individuellen Hashwert geändert wird. Außerdem wird die Länge des Feldes auf einen zufälligen Wert zwischen 8 und 12 gesetzt um Bots auch hier das Erkennen zu erschweren." So jedenfalls der Autor. Da ich täglich zwischen 60 und 100 Registrierungs- bzw. Loginversuche aus Russland, Litauen, China, Israel und den USA habe, von denen einigen bei meinem (inzwischen upgedateten) phpBB 3.0.6 die Registrierung trotz Captcha gelang, hatte ich zunächst über die Boardeigene Funktion "Benutzerdefinierte Profilfelder" drei einfache Fragen im Registrierungsformular eingebaut, die jeder Mensch beantworten kann, ein Bot aber (noch) nicht. Seitdem (über 9 Monate) ist keinem Bot mehr eine Anmeldung oder gar Registrierung gelungen. Die Versuche aber bleiben und das mit stark steigender Tendenz.
Um vor Überraschungen sicherer zu sein baute ich nun zusätzlich daraPL Antipam in mein phpBb ein. Die Sache gestaltete sich einfach; schließlich ist das nicht meine erste verbaute Mod. Nun bin ich mir aber nicht sicher, ob die Mod auch funktioniert. So habe ich einmal probehalber versucht mich bei zwei Testaccounts mit stets wechselnden Passwörtern immer und immer wieder einzuloggen. Ich erkenne aber keinen Unterschied beim Versuch des Einloggens gegenüber einem phpBB ohne dieser Mod. Das Captcha besteht wie zuvor aus sechs bis acht Zeichen. Sollen es nicht mit dieser Mod acht bis zwölf sein (s. oben)?
Ich habe alle Einbauschritte der Mod geprüft und noch einmal die Modifikationen an "jungfräulichen" Dateien vorgenommen. Ergebnis: Keine Änderung. Selbstverständlich habe ich die Caches geleert.

Wer hat da einen Rat?

Re: daroPL Antispam - Überprüfung der Funktionalität

Verfasst: 13.03.2010 15:51
von 4seven
der daro-mod hat eine "versteckte" funktion, die nicht "sichtbar" ist. er ändert die feste id des reg-send-feldes in einen zufälligen wert.
das wars schon. und, er wirkt nur beim registrieren, nicht beim einloggen nach vollzogener registrierung.
auf deutsch, er funktioniert einfach. vertrau drauf.

Re: daroPL Antispam - Überprüfung der Funktionalität

Verfasst: 13.03.2010 16:08
von Hinnerk
ich möchte ja gern vertrauen 4seven. Ich stutze nur, weil doch der Autor in der install.xml zum Captcha sagt, Zitat: "Außerdem wird die Länge des Feldes auf einen zufälligen Wert zwischen 8 und 12 gesetzt...". Ja, und da sind es nach wie vor auch bei der Registrierung vier bis max. sieben Zeichen. Das verunsichert mich eben. Oder ist mit dem "Wert zwischen 8 und 12" etwas anderes gemeint?

Re: daroPL Antispam - Überprüfung der Funktionalität

Verfasst: 13.03.2010 16:10
von 4seven
"Außerdem wird die Länge des Feldes auf einen zufälligen Wert zwischen 8 und 12 gesetzt..."
ja, aber damit ist die "unsichtbare" id des reg-send-feldes im html-quell-code gemeint, nicht die sichtbare passwort-eingabe :wink:

Re: daroPL Antispam - Überprüfung der Funktionalität

Verfasst: 13.03.2010 16:16
von Hinnerk
Danke 4seven. Was du nicht alles weißt... dann will ich mal vertrauen. Aber mit den Spambots ist es schon arg lästig. Zudem bereiten sie unnötigen Traffic. Es scheint, das die Pest des Mittelalters doch nicht ausgerottet ist. Sie mutiert nur. :evil:

Re: daroPL Antispam - Überprüfung der Funktionalität

Verfasst: 13.03.2010 16:24
von 4seven
zu den normalen möglichkeiten ist es mir ein beliebtes hobby, jede noch so unscheinbare spam-ip auf die ip-sperrliste zu setzen:
also zb: 95.122.*.*

so tummeln sich die spambots vor den toren des forums rum und verursachen wenigstens keinen krampfhaften reg-versuchs-traffic..

anderes neck-beispiel:
da fast alle bots mit der browser-kennung msie6, msie5.5 oder gar msie5 daherkommen,
hab ich für solche kennungen alle seiten via script unsichtbar geschaltet. einfach aber wirkungsvoll.

Re: daroPL Antispam - Überprüfung der Funktionalität

Verfasst: 13.03.2010 16:42
von Hinnerk
4seven hat geschrieben:zu den normalen möglichkeiten ist es mir ein beliebtes hobby, jede noch so unscheinbare spam-ip auf die ip-sperrliste zu setzen:
also zb: 95.122.*.*

so tummeln sich die spambots vor den toren des forums rum und verursachen wenigstens keinen krampfhaften reg-versuchs-traffic.
Genau das hatte ich auch schon gemacht. Bestimmte ip Bereiche einfach gesperrt (die ersten beiden Blöcke). Dummerweise vergibt RIPE die ip-Adressbereiche für ganz Europa und Russland. Da steht denn auch schon mal schnell der eine oder andere User vor der Tür. Aber vielleicht sollte ich das doch mal wieder machen. Meine Idee: Im Forum ein spezielles Thema dazu aufmachen und dort die jeweils zur Sperrung anstehenden ip- Adressbereiche bekannt geben.
4seven hat geschrieben:anderes neck-beispiel:
da fast alle bots mit der browser-kennung msie6, msie5.5 oder gar msie5 daherkommen,
hab ich für solche kennungen alle seiten via script unsichtbar geschaltet. einfach aber wirkungsvoll.
Würdest du das Script veröffentlichen? Und sagen, wo es rein muß? Wäre echt lieb von dir!

Re: daroPL Antispam - Überprüfung der Funktionalität

Verfasst: 14.03.2010 20:38
von 4seven
- als erstes lade dir mal zum testen das add-on für den firefox runter

http://chrispederick.com/work/user-agent-switcher/

(damit kannst du eine menge browser-kennungen imitieren und, was wichtig ist, das installierte snippet und seine funktionen testen)

- dann hier die aktuelle xml zum importieren in den user-agent-switcher

http://techpatterns.com/forums/about304.html

hier findest du sie (da etwas versteckt)
Download XML file
Simply save this file by right clicking on it, then get the UserAgent Switcher, and import the file.

This list includes all of the default items from the current default UserAgent Switcher install, so you can just overwrite your default.

* download xml user agent list 2.x

- dann lade dir die datei functions_browser_detect.php herunter:
http://www.loaditup.de/files/473011.zip

- lade sie nach includes/functions_browser_detect.php

- dann öffne ucp.php

finde

Code: Alles auswählen

    case 'register':
        if ($user->data['is_registered'] || isset($_REQUEST['not_agreed']))
        {
            redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
        }

        $module->load('ucp', 'register');
        $module->display($user->lang['REGISTER']);
    break;  

ersetze mit

Code: Alles auswählen

    case 'register':
    
    // functions_browser_detect / 4seven / 2009
    include($phpbb_root_path . 'includes/functions_browser_detect.' . $phpEx);
    // functions_browser_detect / 4seven / 2009

        if (!$ie_bot)
          {
        trigger_error('NOT_AUTHORISED');
        exit;
          }
        else
          {
          
        if ($user->data['is_registered'] || isset($_REQUEST['not_agreed']))
        {
            redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
        }

        $module->load('ucp', 'register');
        $module->display($user->lang['REGISTER']);
          }
    break;  


damit ist selbst das versuchte registrieren für die ie kennungen 5.0, 5.5 und 6.0 unmöglich (trigger error)
Information

Du hast keine Berechtigung, diesen Bereich zu betreten.
das dürfte den traffic schonmal deutlich mildern, da der bot hier schlicht nicht weiter kommt :wink:

------------------------

die hard-core-variante beginnt dann hier:

- öffne includes/functions.php

finde

Code: Alles auswählen

    // The following assigns all _common_ variables that may be used at any point in a template.
    $template->assign_vars(array(  
ersetze mit

Code: Alles auswählen

// functions_browser_detect / 4seven / 2009
include($phpbb_root_path . 'includes/functions_browser_detect.' . $phpEx);
// functions_browser_detect / 4seven / 2009

    // The following assigns all _common_ variables that may be used at any point in a template.
    $template->assign_vars(array(
        
        // functions_browser_detect / 4seven / 2009
        'S_IE_TRUE'                       => ($ie_bot) ? true : false,
        // functions_browser_detect / 4seven / 2009              
nun steht der S_IE_TRUE-tag in allen templates als switch zur verfügung

alle bereiche, die du nun in den templates vor diesen kennungen verstecken möchtest, musst du mit diesen tags umschließen

beispiel viewforum_body.html

Code: Alles auswählen

<!-- IF S_IE_TRUE -->
<!-- INCLUDE overall_header.html -->

code, code, code etc

<!-- INCLUDE overall_footer.html -->
<!-- ENDIF -->
damit ist die viewforum-seite für diese kennungen komplett unsichtbar (weiß).
dies gilt für alle anderen (normalerweise sichtbaren) template-seiten analog.

nur das direkte setzen des tags in der overall_header.html, overall_footer.html und den "simply-header/footer-versionen" funktioniert nicht (template-error).

-------------------------

das script kann leicht angepasst werden, so das für alle browser switches erstellt werden können.

diese browser können zZt. in allen versionen und kennungen analysiert werden.
'opera' = 'op'
'msie' = 'ie'
'konqueror' = 'konq'
'safari' = 'saf'
'webkit' = 'webkit'
'gecko' = 'moz' (firefox)
'mozilla/4' = 'ns4' ),
# this will set a default 'unknown' value
'other' = 'other'
da es keine conditional elements für nicht-ie-browser gibt, eine feine sache.
ferner ist die php-detection gegenüber der java-detection schneller und "unbetrüglicher".

------------------

hier zum testen
http://4seven.kilu.de/forum/phpbb3/index.php

betrifft:
- title-tag der seite ( IE < 6.0 oder No IE < 6.0)
- registrierung
- viewforum

dazu einfach im firefox mit dem user-agent-switcher als msie 6.0 oder 5.5 ausgeben und einmal f5 drücken