Den Varchar hatte ich auch auf 40 geändert. Ich selbst besitze keine iPv6 Adresse, trotzdem konnte ich mich und auch sonst niemand sich registrieren. Also bei meiner Problematik hat der Workaround nicht geholfen.
Naja, komisch ist es, aber die Bastellösung hat auch geholfen.. und bislang hat sich kein Bot angemeldet
Beiträge von impy
Ich habe einen Blog Artikel verfasst - Wie benutze ich die Suche richtig - Bitte diesen beachten und auch umsetzen bevor Ihr ein Neues Thema eröffnet!
-
-
Also ich hab mir jetzt ne Frickellösung gebastelt, die zumindest funktioniert.
Ich hab den Botreason-Teil wieder auskommentiert.
Zusätzlich habe ich jetzt Codezeile 825 geändert:
Die Variable $regissaved bekommt bei mir keinen Wert, deshalb habe ich abgefragt, ob diese leer ist. Die anderen Variablen habe ich alle auskommentiert. Nun kann man sich wenigstens registrieren und beide Seiten bekommen eine Email. In wmtipp_register wird nur noch der "not checked" Status eingetragen.
Keine saubere Lösung, aber es klappt immerhin. So kann ich nun das Tippspiel starten.
-
auf False steht alles. Klappt nicht
Bin derzeit ziemlich ratlos...
-
Danke, das ist seltsam. Ich habe die aktuelle SQL-Datei importiert, aber aus unerklärlichen Gründen hat er die Tabelle nicht angelegt.
Ich hatte mir die Tabelle aus der EM-Tipp Datenbank geholt, habe aber durch deinen Hinweis die Tabelle nochmals gedroppt und neu angelegt.Ich hatte die Passage in der home.registrieren.php nochmals auskommentiert.
Code- else
- {
- // Prüfeintrag in der Datenbank aktualisieren
- $botreason = "";
- if ($_POST['name'] != "")
- {
- $botreason .= "Prüffeld ´name´ nicht leer; ";
- }
- if ($regissaved == 0)
- {
- $botreason .= "Kein Prüfdatensatz in Tabelle ´_register´, Prüffeld ´notice´ wurde verändert oder kein passender Prüfeintrag ´regtime´ in Tabelle ´_register´; ";
- }
- if ($regissaved > 1)
- {
- $botreason .= "Zuviele Prüfdatensätze in Tabelle ´_register´; ";
- }
- if ( ! isset($_POST['notice']))
- {
- $botreason .= "Prüffeld ´notice´ wurde nicht übergeben; ";
- }
- if ($regissaved == 1 && ! isset($regvalues['regtime']))
- {
- $botreason .= "Kein passender Prüfeintrag ´regtime´ in Tabelle ´_register´; ";
- }
- if (isset($timediff) && $timediff >= $mintimebeforesend)
- {
- $botreason .= "Formular wurde in weniger als ". $mintimebeforesend ." Sekunden abgesendet;";
- }
- // Prüfdatensatz aktualisieren ...
- if (isset($regvalues['ip']) && isset($regvalues['regtime']))
- {
- $sql = "UPDATE ". $CONFIG['MYSQL']['PREFIX'] ."register"
- ." SET regcheck = 'BOT'"
- . ($botreason != "" ? ", desc = '". $botreason ."'" : "")
- ." WHERE ip = '". $regvalues['ip'] ."'"
- ." AND regtime = ". $regvalues['regtime'];
- }
- else
- {
- // ... oder neu anlegen, falls nicht existent
- $sql = "INSERT INTO ". $CONFIG['MYSQL']['PREFIX'] ."register (ip, regcheck, `desc`) VALUES "
- ."("
- ."'". $_SERVER['REMOTE_ADDR'] ."', "
- ."'BOT', "
- . ($botreason != "" ? "'". $botreason ."'" : "NULL")
- .")";
- }
- mysql_query($sql);
- // Eine Fehlermeldung anzeigen (falls der Bot doch ein Mensch sein sollte, ist das eben nett, wenn er erfährt, das was nicht geklappt hat
- $showerror = TRUE;
- // E-Mail an Admin senden
- if ($CONFIG['SEND_BOT_NOTE'] == TRUE)
- {
- require "include/phpmailer/class.phpmailer.php";
- require "include/class.tippem.mailer.php";
- // Mail über Spam-Bot-Registrierung an Admin
- $text2 = "Hallo Admin," .
- "\n\n" .
- "ein Spam-Bot hat versucht sich auf ". $CONFIG['PAGE']['NAME'] ." zum Tippspiel anzumelden." .
- "\n\n" .
- "Die eingegebenen Daten des Spam-Bots:" .
- "\n\n" .
- "Benutzername: ". $_POST['req']['username'] ."\n" .
- "Name: ". $_POST['req']['name'] ."\n" .
- "E-Mail-Adresse: ". $_POST['req']['email'] ."\n\n" .
- "Tippgruppe: ". $_POST['opt']['group'] ."\n\n\n" .
- "Prüffeld name: ". $_POST['name'] ."\n\n" .
- (trim($_POST['opt']['remarks']) != "" ? "Anmerkungen: ". $_POST['opt']['remarks'] ."\n" : "");
- $text2 .= "\nDie Registrierung wurde nicht in der Datenbank gespeichert!\n";
- $mail = new tippem_mailer;
- $mail->AddAddress($CONFIG['KONTAKT']['REPLYTO']);
- $mail->Subject = "Spam-Bot-Registrierung auf ". $CONFIG['PAGE']['NAME'];
- // HTML-Teil der eMail
- $mail->Body = nl2br($mailCSS
- . $text2)
- . $CONFIG['MAIL']['HTMLFOOT'];
- // Alternativ-Text, falls der eMail-Client des Empfängers keine HTML-eMails anzeigen kann.
- $mail->AltBody = strip_tags($text2)
- . $CONFIG['MAIL']['PLAINFOOT'];
- $mail->Send();
- // Empfänger und Anlagen entfernen, da diese sonst auch für die nächste eMail verwendet werden
- $mail->ClearAllRecipients();
- $mail->ClearAttachments();
- }
- }
Danach registriert und folgenden Eintrag in der register Tabelle gefunden: regtime = 1401520949, regcheck = not checked
Passiert ist nichts. Also die Passage wieder eingefügt und die Registrierung erneut durchgeführt. Nun habe ich zwei neue Einträge gefunden: regtime = 1401521042, regcheck = not checked UND (das ist wohl viel kurioser) regtime = 2147483647, regcheck = BOT, desc = Kein Prüfdatensatz in Tabelle ´_register´, Prüffeld ´notice´ wurde verändert oder kein passender Prüfeintrag ´regtime´ in Tabelle ´_register´;
Was auch immer das heißen soll Wieso trägt er mir zwei Datensätze ein, die völlig unterschiedlich vom Zeitstempel sind?
Ist es nicht möglich die Botüberprüfung komplett zu deaktivieren?
-
Moin Moin,
ich scheiter im Moment an dem selben Problem. Die Blacklist habe ich bereits geleert, die Botüberprüfung hab ich in der config abgeschaltet. Dennoch kriege ich hier keine Registrierung zustande. Ich habe auch schon angefangen im Code zu wühlen und hatte die entsprechende Überprüfung in der registrierung.php auskommentiert. Danach kriege ich zumindest eine erfolgreiche Anmeldung, leider ohne Email und Datenbankeintrag
Kann hier noch spontan jemand helfen?
Die oben genannte wmtipp_register Tabelle habe ich gar nicht. Wie ich das sehe ist sie im SQL-Dump auch nicht hinterlegt. Spielt das die entscheidende Rolle?
WM-Tipp 1.7.200
Viele Grüße
-
Zur Zeit 506 Mitspieler - Tendenz steigt noch leicht.