Komplettes Thema anzeigen 10.08.2011, 14:34
beko Abwesend
Mitglied
Dabei seit: 08.02.2008
Wohnort: Weissach


Betreff: Re: Spam Bot für Viscacha gesichtet
Folgenden Code habe ich ab Zeile 100 in register.php eingefügt:

DownloadPHP-Quelltext:
  1.         $__ANTI_SPAM_MIN_FREQ = 1;
  2.         $__ANTI_SPAM_MIN_APPEAR = 1;
  3.         $__ANTI_SPAM_CHECK_FIELDS = array('email', 'username', 'ip');
  4.  
  5.         $sSFSurl = 'http://www.stopforumspam.com/api?username='.$_POST['name'].'&ip='.$slog->getIP().'&email='.$_POST['email'].'&f=serial';
  6.  
  7.         $sCTX = stream_context_create(array('http' => array('timeout' => 3)));
  8.         $aSFS = file_get_contents($sSFSurl, 0, $sCTX);
  9.  
  10.         if($aSFS !== false){
  11.                 $aSFS = unserialize($aSFS);
  12.                 if($aSFS !== false && is_array($aSFS) && isset($aSFS['success']) && $aSFS['success'] == 1){
  13.                         //check for all fields defined in $__ANTI_SPAM_CHECK_FIELDS
  14.                         foreach($__ANTI_SPAM_CHECK_FIELDS as $fieldname){
  15.                                 if(isset($aSFS[$fieldname]) && $aSFS[$fieldname]['frequency'] >= $__ANTI_SPAM_MIN_FREQ || isset($aSFS[$fieldname]) && $aSFS[$fieldname]['appears'] >= $__ANTI_SPAM_MIN_APPEAR){
  16.                                         $error[] = 'Spammers make little jesus sad';
  17.                                         set_flood(); //set flood for each spam hit
  18.                                 }
  19.                         }
  20.                 }
  21.         }

Achtung: Das ist ein HACK. Kann funktionieren. Muss nicht. Es erfolgt keinerlei Fehlerbehandlung. Garantien gibbet keine.

Edit: Nicht erschecken wegen der Verwendung von POST Variablen. Die Prüfung für email und name erfolgt bereits in classes/function.frontend_init.php wenn ich das richtig gesehen habe. Ist das korrekt MaMo?

Die API Beschreibung findet sich unter http://www.stopforumspam.com/usage

Der Effekt ist "interessant". Flood Protection wird wohl nur beim Captcha geprüft. Der Register Dialog steht nach wie vor zur Verfügung. Es erfolgt lediglich keine Captcha Ausgabe auf dem Formular mehr. Bei Submit meint Viscacha nun dass das Formular bereits gesendet wurde. Und das wars dann erst mal Smiling

Mit den Variablen oben kann man das ein wenig feiner einstellen. Momentan reicht ein Eintrag für die Mail, den Usernamen oder die IP des Registrierenden und das wars dann erst mal.

Vielleicht kann MaMo kurz Feedback geben ob ich hier Bockmist gebastelt habe oder ob das brauchbar ist Smiling
Dieser Beitrag wurde 1 mal editiert, das letzte Mal am 10.08.2011, 14:38 von beko.