Anti-Guest-Spam mit Regelwerk

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Anti-Guest-Spam mit Regelwerk

Beitrag von oxpus »

Dieses kleine Snippet soll verhindern, daß Beiträge mit immer bestimmten Inhalten, die unliebsame Gäste posten, zu einem Topic oder Post führen.
Folgende Änderungen sind dazu nötig:

Code: Alles auswählen

#
#-----[ OPEN ]-----
#
posting.php

#
#-----[ FIND ]-----
#
include_once($phpbb_root_path . 'common.'.$phpEx);

#
#-----[ AFTER, ADD ]-----
#
$proof_message = ( !empty($HTTP_POST_VARS['message']) ) ? ' '.$HTTP_POST_VARS['message'].' ' : '';
if ($proof_message && file_exists($phpbb_root_path.'includes/spamtext.dat'))
{
	$fid = fopen($phpbb_root_path.'includes/spamtext.dat', 'r');
	$maltext = '';

	while (!feof($fid))
	{
		$maltext = fgets($fid, 4096);
		$maltext = str_replace("\n", '', $maltext);
		$maltext = str_replace("\r", '', $maltext);
		$proof_message = strtolower($proof_message);

		if (strpos($proof_message, $maltext))
		{
			fclose($fid);
			redirect(append_sid("sec_stop.html"));
		}
	}

	fclose($fid);
}

#
#-----[ OPEN]-----
#
language/lang_english/lang_admin.php

#
#-----[ FIND ]-----
#
?>

#
#-----[ BEFORE, ADD ]-----
#
// Spamtext
$lang['Spamtext'] = 'Spamtext';
$lang['Spamtext_explain'] = 'Here you can enter texts which user are not allowed to post.
This will not just replace the text in the post like the word censor, it will completly block the post!
Enter for each single text one line, use RETURN to split the lines.
If a user posts some text with one of the lines you enter here, the script will stop creating the post and/or topic. A good method to block spamming guests ;-)';

#
#-----[ OPEN]-----
#
language/lang_german/lang_admin.php

#
#-----[ FIND ]-----
#
?>

#
#-----[ BEFORE, ADD ]-----
#
// Spamtext
$lang['Spamtext'] = 'Spamtext';
$lang['Spamtext_explain'] = 'Hier kannst Du Texte eingeben, die Benutzer in ihren Beiträgen nicht verwenden dürfen.
Dieses wird nicht lediglich den Text in dem Beitrag ersetzen, wie die Wortzensur, sondern den Beitrag komplett blockieren!
Gib hier für jeden einzelnen Text eine Zeile ein, trenne diese Zeilen mit RETURN.
Wenn ein Benutzer Text mit einem dieser Zeilen postet, wird das Script das Erstellen des Beitrags/Topics unterbinden. Eine gute Methode, um spammende Gäste zu blockieren ;-)';


#
#-----[ SAVE/CLOSE ALL FILES ]-----
#
# EoM
Der Link des Redirect wäre anzupassen.
Es kann anstelle dessen aber auch ein message_die() oder exit eingesetzt werden, Hauptsache, das Script wird an dieser Stelle angehalten, um eben die unerwünschten Gast-Beiträge hier zu unterbinden.
$maltext ist als Array definiert, mit dem weitere "Regeln" eingestellt werden können.
In Kürze werde ich die Regelverwaltung aber über eine Datei ermöglichen, die im ACP bearbeitet werden soll.

In Kombination mit dem Guest Control Post MOD ist dieses Snippet eine wirkungsvolle Waffe, unerlaubte/unerwünschte Spam-Posts komplett zu unterbinden. Zur Zeit sind die Poker-Freunde sehr aktiv, daher schon einmal diese vorgegebenen Regeln.
Der Guest Control Post MOD liefert dann bei jedem neuen Gast Post ggf. weitere Regeln, die dann nur einzustellen wären.

Ich hoffe, damit endlich die Flut der bescheuerten Spammer ein wenig eindämmen zu können, bevor mein Topic-Counter noch explodiert...

EDIT 01.09.2006
Den Part in der posting.php ersetzen und schon wird der Inhalt der Datei spamtext.dat für die Regeln verwendet. Diese Datei ist in den Ordner includes/ zu legen.
Die Verwaltung dieser Datei werde ich noch für das ACP erstellen, bis dahin kann diese Datei aber auch noch manuell aktualisiert werden. Besser, als immer die posting.php zu beackern...

EDIT 2
So, ACP-Modul ist nun auch fertig (ein einfaches, aber es ist nützlich) und die Sprachvariablen dazu sind oben ergänzt.
Die Datei spamtext.dat muss dann auch mindestens auf CHMOD 666, sonst kann das ACP-Modul diese Datei nicht schreiben.

EDIT 3
Der Text wird nun komplett in Kleinbuchstaben geprüft. Damit muss man nicht alle Wörter im ACP mit Groß- und Kleinschreibung anlegen.
Dazu einfach die hier im Snippet vorhandene Zeile 25 neu in die posting.php einfügen.

Nun sollen die Spamfreunde mal kommen :D
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von oxpus am So 10.Jun, 2007 21:11, insgesamt 7-mal geändert.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Ist nicht eine Vergleichbare Funktion im CTracker G5 integriert?
Ich hab da sowas im Kopf.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

tolles snippet :respect: , werd sicher nochmal drauf zurückgreifen müssen :D
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Öhm, nein. Der Cracker Tracker verhindert Spams anhand Regeln für Häufung der Posts, nicht nach den Inhalten.
Oder habe ich da was übersehen???
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Ich meine den Spammer Keyword Check.
Hat sich aber erledigt, das System ist nicht mit deinem Snippet zu vergleichen.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Das prüft auf andere Weise und ist auch eine sinnvolle Ergänzung.
Und auch nicht zú verachten.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Jepp :)
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

So, Snippet aktualisiert, um eine externe Datei für die Regeln zu verwenden.

Und das ACP-Modul ist nun auch ergänzt.
Viel Erfolg dann beim Spammer-Jagen :D
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Feine sache das. :)
Ich habe zwar derzeitig keine Probleme, aber dieses Snippet kommt trotzdem rein. :mad:
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Du Glücklicher...
Aber gut, freut mich, wenn es gefällt.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Naja, es ist halt eh schon nicht gerade leicht bei mir Spam zu Posten. ;)
Und mit diesem Snippet wird es noch etwas schwerer. :mad:
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
tom10
Beiträge: 1106
Registriert: Sa 29.Jan, 2005 14:58
Kontaktdaten:

Beitrag von tom10 »

Hab das Snipped auch mal eingebaut....mal sehn wie ses wirkt.... :D
Der Versuch was neues zu versuchen....
http://simson-le.de.vu
Benutzeravatar
volker58
Beiträge: 724
Registriert: Mo 27.Dez, 2004 19:22
Wohnort: Annaberg-Buchholz
Kontaktdaten:

Beitrag von volker58 »

hallo,

habe es mal eingebaut, da fehlt aber noch eine datei, sec_stop.html
Gruss Volker

http://www.fuchsienfreunde.de
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

[quote="volker58";p="63537"]hallo,

habe es mal eingebaut, da fehlt aber noch eine datei, sec_stop.html[/quote]

Die ist in meinem Snippet nur ein Beispiel!
Du kannst auf jede andere Datei verweisen, ein message_die anstelle des Redirects einfügen oder auch nur schlicht mit exit das Script beenden lassen.
Steht aber auch alles im ersten Post drinnen...
Die sec_stop.html ist jedenfalls die Datei, die ich für OXPUS.de erstellt habe und hier verwende. Die gibts nicht dazu ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
volker58
Beiträge: 724
Registriert: Mo 27.Dez, 2004 19:22
Wohnort: Annaberg-Buchholz
Kontaktdaten:

Beitrag von volker58 »

problem mit dem mod, wenn ich ein wort wieder lösche kommt die fehlermeldung
Warning: strpos() [function.strpos]: Empty delimiter. in D:\wamp\www\3\posting.php on line 45

Warning: Cannot modify header information - headers already sent by (output started at D:\wamp\www\3\posting.php:45) in D:\wamp\www\3\includes\sessions.php on line 396

Warning: Cannot modify header information - headers already sent by (output started at D:\wamp\www\3\posting.php:45) in D:\wamp\www\3\includes\sessions.php on line 397

Warning: Cannot modify header information - headers already sent by (output started at D:\wamp\www\3\posting.php:45) in D:\wamp\www\3\posting.php on line 978

Warning: Cannot modify header information - headers already sent by (output started at D:\wamp\www\3\posting.php:45) in D:\wamp\www\3\includes\page_header.php on line 1167

Warning: Cannot modify header information - headers already sent by (output started at D:\wamp\www\3\posting.php:45) in D:\wamp\www\3\includes\page_header.php on line 1169

Warning: Cannot modify header information - headers already sent by (output started at D:\wamp\www\3\posting.php:45) in D:\wamp\www\3\includes\page_header.php on line 1170
trage ich wieder eins ein ist es wieder okay

kann man das ändern?
Gruss Volker

http://www.fuchsienfreunde.de
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wenn Du keine Einträge hast, solltest Du auch die Datei spamtext.dat löschen, sonst funktioniert der MOD nicht.
Es wird ja auch davon ausgegangen, daß mindestens ein Eintrag vorhanden ist, da der MOD ansonsten ja eh überflüssig wäre ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
volker58
Beiträge: 724
Registriert: Mo 27.Dez, 2004 19:22
Wohnort: Annaberg-Buchholz
Kontaktdaten:

Beitrag von volker58 »

die einträge von dir sind noch drin, wenn ich welche dazu mach und einen davon wieder lösche kommt die meldung. also sind noch einige drin. mach ich wieder einen dazu ist alles wieder in butter. der mod soll in die neue dim rein und da kann ich schlecht schreiben das kein eintrag gelöscht werden darf
Gruss Volker

http://www.fuchsienfreunde.de
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wie hast Du denn die Einträge eingefügt?
Je Zeile wird ein String gespeichert. Nicht nur einfach hintereinander setzen!
Auch darf keine Leerzeile entstehen...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Wirkt dieser Mod nur auf Gäste? Oder egal wer postet?
Zuletzt geändert von Holger am Do 21.Dez, 2006 08:41, insgesamt 1-mal geändert.
Benutzeravatar
volker58
Beiträge: 724
Registriert: Mo 27.Dez, 2004 19:22
Wohnort: Annaberg-Buchholz
Kontaktdaten:

Beitrag von volker58 »

im acp mach ich das. beim löschen bleibt da ein leerzeichen in der spamtext.dat stehen :(
Zuletzt geändert von volker58 am Do 21.Dez, 2006 10:20, insgesamt 1-mal geändert.
Gruss Volker

http://www.fuchsienfreunde.de
Benutzeravatar
volker58
Beiträge: 724
Registriert: Mo 27.Dez, 2004 19:22
Wohnort: Annaberg-Buchholz
Kontaktdaten:

Beitrag von volker58 »

[quote="Holger";p="67808"]Wirkt dieser Mod nur auf Gäste? Oder egal wer postet?[/quote]

das ist egal wer postet
Gruss Volker

http://www.fuchsienfreunde.de
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

beim löschen bleibt da ein leerzeichen in der spamtext.dat stehen
???
Leerzeilen, nicht -zeichen.
Es dürfen keine Leerzeilen vorhanden sein!
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
charokee
Beiträge: 2
Registriert: So 07.Jan, 2007 01:07

Beitrag von charokee »

Der Spamfilter leistet ja ganze Arbeit.
Allerdings habe ich festgestellt er sich austricksen lässt durch das Verwenden einer BB-Code Liste. ^5

Das sollte eventuell nochmal genauer betrachtet werden.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wie meinst Du das jetzt?
Es geht hier ums posten, nicht um bestehende Beiträge...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
charokee
Beiträge: 2
Registriert: So 07.Jan, 2007 01:07

Beitrag von charokee »

Es war doch mein Fehler.
Beim Prüfen der Zeichenkette wird leider auf Gross- und Kleinbuchstaben geachtet. ¦4
Zuletzt geändert von charokee am Do 11.Jan, 2007 23:46, insgesamt 2-mal geändert.
Antworten