Hallo,
gibt es ein Spamfilter-Mod? Also in etwa so wie das mit den Badwords. Ich möchte z.B. permanentes Groß- oder Kleinschreiben als Spam abweisen, weil das einfach schlecht zu lesen ist. Falls es sowas nicht gibt, wo setzt man da am besten an, wenn man sowas selbst realisieren möchte? Also ich meine, in welche Datei gehört der Code?
Danke!
Spamfilter
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Ok, ist eher "mal so schnell reingebaut", also garantiert kein schöner Code. Aber leicht erweiterbar. Ich prüfe momentan auf permanente Groß- oder Kleinschreibung. Der Quellcode ist kommentiert. Folgenden Code habe ich in die functions_post.php eingefügt:
Das ganze wird vor folgenden Code eingefügt:
In die lang_main.php (für jede Sprache) muss man dann noch irgendwo den Text für "Block_message" ergänzen. Ich habe in die deutsche lang_main.php folgendes geschrieben:
Meine Tests verliefen wie erwartet, Wie es in der Praxis aussieht, wird sich zeigen. Eventuell muss man Parameter anpassen oder sogar noch Code ändern. Wer Fragen hat, kann sich gern bei mir melden.
Code: Alles auswählen
// Check Anzahl Großbuchstaben/Kleinbuchstaben usw. (makue)
if (!empty($message))
{
$ok = true; $gb = 0;
$l = strlen($message);
for ($k=0;$k<$l;$k++) if (substr($message,$k,1) >= "A" && substr($message,$k,1) <= "Z") $gb++;
if (preg_match ("/[,.!?]/", $message)) { // nur wenn auch Satzzeichen drin sind (warum, weiß ich auch nicht :-)
if ($gb == 0) $ok = false; // kein Großbuchstabe -> blocken
if ($gb == 1 && $l > 80) $ok = false; // ein Großbuchstabe und Textlänge größer 80 -> blocken
if ($gb == 2 && $l > 160) $ok = false; // zwei Großbuchstaben un Textlänge größer 160 -> blocken
if ($gb > 2) $ok = true; // ok wenn mindesten 3 Großbuchstaben
}
if ($l<40) $ok = true; // blockt nicht wenn Posting unter 40 Zeichen lang ist.
if ((($gb*100)/$l)>85 && $l>20) $ok = false; // block bei 85% Grossbuchstaben und Textlänge über 20
if (!$ok) $error_msg .= ( !empty($error_msg) ) ? '<br />' . $lang['Block_message'] : $lang['Block_message'];
}Code: Alles auswählen
// Check message
if ( !empty($message) )
{
$bbcode_uid = ( $bbcode_on ) ? make_bbcode_uid() : '';
$message = prepare_message(trim($message), $html_on, $bbcode_on, $smilies_on, $bbcode_uid);
}
else if ( $mode != 'delete' && $mode != 'polldelete' )
{
$error_msg .= ( !empty($error_msg) ) ? '<br />' . $lang['Empty_message'] : $lang['Empty_message'];
}Code: Alles auswählen
$lang['Block_message'] = "Dein Beitrag entspricht nicht der Netiquette.";