Seite 7 von 7

Verfasst: 23.02.2005 00:22
von Leuchte
Könnte man schon, allerdings wäre da die Prüfung bzw. das Ergebnis unzuverlässiger, da ein BB-Code mehr oder weniger schon ein anderes Resultat ausgibt. Man könnte evtl. auch nach Textfragmenten suchen; also ähnlich der Wortzensur, nur dass keine Wörter verschleiert/ersetzt werden sondern ein posten unmöglich machen.

*edit* Letzteres gibt es bereits
http://www.phpbb.de/viewtopic.php?t=64639

Verfasst: 23.02.2005 07:09
von Helmut71
danke erstmal.

Wenn ich das aber richtig durchblicke, dann verhindert dieser "Mod" von PhilipK das Posten von gesperrten Wörtern..

woran ich gedacht habe, war folgendes: mir ist es schon ein paar Mal passiert, dass ein User ein und dieselbe nachricht einige male hintereinander gepostet hat (cross-posting).

Interessant wäre ein Mod ähnlich dem deinen, der einen identen beitrag beim Posten als Spam erkennt und verhindert...

Verfasst: 23.02.2005 14:06
von Leuchte
Das ist aufwendiger, da in der Datenbank kein Eintrag dem anderen gleicht (auch wenn es die selben Texte sind). Für jeden Beitrag gibt es eine neue BB-Code-UID die das Vergleichen unmöglich macht.
Eventuell würde es für dein Problem langen, die Flood-Zeit zu erhöhen, oder einen Mod einzubauen, der Doppelposts unterbindet.
Ich habe mal was zusammengebastelt, allerdings ist das sehr unsicher (nicht in Bezug auf Sicherheit), da nur Wörter verglichen werden. Ein vorheriger Beitrag mit ähnlichem Text kann Auslöser sein, dass ein ganz anderer Text nicht mehr gepostet werden kann. Wenn du das nutzt, sollte die $checkspamtime niedriger gesetzt werden

Code: Alles auswählen

ALTER TABLE phpbb_posts_text ADD FULLTEXT (post_text)
Kann bei vielen Beiträgen 'ne Weile dauern

Code: Alles auswählen

			$checkspamtime = time() - 800;
			if($mode != 'editpost')
			{
				$sql = "SELECT *
					FROM ". POSTS_TEXT_TABLE ." pt, ". POSTS_TABLE ." p
					WHERE pt.post_id = p.post_id
					AND MATCH (pt.post_text) AGAINST ('$message')
					AND p.post_time > '$checkspamtime'";
				if(!($spam = $db->sql_query($sql)))
				{
					message_die(GENERAL_ERROR, 'Could not obtain topic data', '', __LINE__, __FILE__, $sql);
				}
				if(($row = $db->sql_fetchrow($spam)))
				{
					message_die(GENERAL_MESSAGE, "Spam-Warnung: Es gibt bereits einen Beitrag mit diesem Inhalt");
				}
			}
Selbe Datei und Stelle wie der andere Code

Verfasst: 23.02.2005 15:32
von Taiphun
Also ich habe einfach die Benutzernamen im Admin untersagt. Also anonym* und Pepotamo*. Damit kann er auch als Gast schon einmal den Namen nicht verweden. Auch sollte er die Nummern ändern, wäre es mit dem * unterbunden.....

Ich hoffe, es hält erstmal als Wundpflaster :roll:

Werden denn Foren auch mit dem neuen 12er Update gefloodet ?

Verfasst: 23.02.2005 16:19
von Leuchte
Werden denn Foren auch mit dem neuen 12er Update gefloodet ?
Spricht nichts dagegen, das es nicht gehen sollte ;)

Verfasst: 26.02.2005 12:35
von Gabberkopf
Ich hatte diese Lesbian Spam Attacke auch. Habe jetzt mal die Mailadresse sowie Benutzername anonymous* gebannt. Bis jetzt scheints ruhig zu sein.