Titelfilter bei unsinnigen Titeln für neue Themen

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
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.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Titelfilter bei unsinnigen Titeln für neue Themen

Beitrag von mgutt »

Viele User regen sich über "dumme" Titel auf, die häufig neue User posten.

Hier möchte ich gerne vorgreifen und Dinge wie diese ausfiltern:

- "Hilfe" (ohne Bezug zum Inhalt)
- "HHHHHIIIIIILLLLLLFFFFFFEE" (Wiederholung von mehr als 3 einzelnen Zeichen)
- [BBCODE] (werden gerne versucht einzusetzen, aber gehen ja an dieser Stelle eh nicht)
- weitere folgen... (ich halte mal Ausschau danach)

Wenn sowas vorkommt, dann Fehlermeldung à la "Bitte aussagekräftigeren Titel wählen" etc. oder ihr habt eine bessere Idee / Anmerkung.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Xwitz
Mitglied
Beiträge: 1104
Registriert: 21.06.2005 21:41

Beitrag von Xwitz »

Man müßte ein paar "Reizwörter" definieren und wenn der Titel nur aus solchen besteht, dann kommt auch die Meldung.

z.B: Hilfe, bitte, problem, ...

Bei der Auswahl der Wörtern darauf achten, das sich nur damit keine sinnvollen Titel bilden lassen oder alles über drei Wörtern zulassen. Groß-Kleinschreibung und Sonderzeichen am besten ignorieren.

Das wird relativ aufwendig.
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Beitrag von BB-BF-BM »

vielleicht Zeichenwiederholungen von über x-mal verbieten.
Dann werden auch die zechn Ausrufezeichen hinter dem Nix geht mehr gematched...
Man kann aber auch sinnvolle Titel mit "Problem" oder "Hilfe" erstellen.
"Benötige Hilfe beim Erstellen von Foren", "Habe ein Problem mit der Konfiguration der Cookies" oder ähnliches. Also praktisch das, was Xwitz meinte.
Aber zum Beispiel "Loginprobleme" ist (im Vergleich zu manchen anderen Themen) kein dummer Titel.
und was ist zum Beispiel mit "Fetter Fehler!!!" Der würde nicht gematched, da es ZWEI Worte sind, auch wenn eins nichtssagend ist...

Der Ansatz ist gut, aber eine Verwirklichung brauch seine Zeit... :(
blubbin
Mitglied
Beiträge: 409
Registriert: 08.09.2005 16:52

Re: Titelfilter bei unsinnigen Titeln für neue Themen

Beitrag von blubbin »

Hi

eventuell kannst du für dein "HHHHHIIIIIILLLLLLFFFFFFEE"-Problem den MOD:ausrufezeichenimtitel-Mod als Ansatz verwenden.

blubbin
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

leider nein. dort wird nur ganz speziell auf jedes einzelne zeichen eingegangen. also keine "allgemeine" regel zum replacen. :-?

aber ich merke an der Resonanz, dass es auch andere Admins gibt, die es gerne vermeiden würden 8)

EDIT:

Mit einem solchen Befehl könnte man z.B. die Wiederholung von Sonderzeichen aller Art mit einer Zeichenfolge >3 zu einer reduzieren:

Code: Alles auswählen

$preview_subject = preg_replace("/([\W]){4,}/", "\\1", $preview_subject);
Grundsätzlich ist eine solche Regel also nicht sonderlich schwer zu verwirklichen.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Xwitz
Mitglied
Beiträge: 1104
Registriert: 21.06.2005 21:41

Beitrag von Xwitz »

BB-BF-BM hat geschrieben:Aber zum Beispiel "Loginprobleme" ist (im Vergleich zu manchen anderen Themen) kein dummer Titel.
und was ist zum Beispiel mit "Fetter Fehler!!!" Der würde nicht gematched, da es ZWEI Worte sind, auch wenn eins nichtssagend ist...
Man nimmt "Loginprobleme" nicht mit in die Liste auf und gut. Daß der Mod nicht jeden sinnlosen Titel sperren kann sollte jedem klar sein.
mgutt hat geschrieben:aber ich merke an der Resonanz, dass es auch andere Admins gibt, die es gerne vermeiden würden 8)
Ich für meinen Teil find es einfach nur interessant. Ich habe viel zu wenige Threads als das man sowas als Problem bezeichnen würde.

Titel zuerst in einzelne Worte zerlegen und Sonderzeichen eliminieren, wenn eine bestimmte Wortzahl überschritten ist oder wenn ein Wort dabei ist, das nicht "verboten" ist, wird der Titel zugelassen sonst nicht. Vielleicht doch nicht so schwer.
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Der reine Wahnsinn: (Titel wurde mittlerweile geändert ;) )
http://www.maxrev.de/hhhhhhhhhiiiiiiiii ... t18367.htm

Wird mittlerweile zur Mode :roll:

EDIT:

Erste Tests:

Code: Alles auswählen

$preview_subject = 'hhhhhhhhh???????????????iiiiiiiiiiillllllll!!!!!!!!!ffffffffffffffffffffffffeeeeeeee!!!!!!!!!!?????????????';

$preview_subject = preg_replace("/([\W]){4,}/", "\\1", $preview_subject);

echo($preview_subject);

// result: hhhhhhhhh?iiiiiiiiiiillllllll!ffffffffffffffffffffffffeeeeeeee?
Die Frage ist wie man Wiederholungen erkennt, ohne gleiche gesamte Zeichengruppen zu reduzieren. :-?
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Xwitz
Mitglied
Beiträge: 1104
Registriert: 21.06.2005 21:41

Beitrag von Xwitz »

Es geht vielleicht eleganter aber ich würde den gesamten Titel in Einzelzeichen zerlegen und jeden der Reihe nach mit dem Nachfolger vergleichen. Wenn gleich einen Zähler hochzählen, sonst Zähler auf Null setzen. Man müßte aber aufpassen, Buchstaben können regulär drei mal hintereinander vorkommen.

Du könntest auch prüfen ob nach dem Ersetzen der String mit dem Ausgangsstring übereinstimmt.

PS: Deinen code verstehe ich aber so wie so nicht (was an mir liegt).
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Die Frage ist dann aber wie schnell das noch ist, wenn so eine Schleifenüberprüfung bei jedem Titel gemacht wird :-?

Wegen dem Verständnis schau mal hier:
http://www.skdevelopment.com/php-regula ... ssions.php

Sonst musst Du nur die Syntaxe kennen:
\d
any decimal digit

\D
any character that is not a decimal digit

\s
any whitespace character

\S
any character that is not a whitespace character

\w
any "word" character

\W
any "non-word" character
Google konnte mir auch noch nicht wirklich helfen. Mal sehen ob ich was finde :D
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Xwitz
Mitglied
Beiträge: 1104
Registriert: 21.06.2005 21:41

Beitrag von Xwitz »

mgutt hat geschrieben:Die Frage ist dann aber wie schnell das noch ist, wenn so eine Schleifenüberprüfung bei jedem Titel gemacht wird :-?
Weiß ich nicht aber weißt Du wie schnell dein Code ist? Ich habe mich die letzten 5 Monate mit Laufzeiten von Befehlen und Programmstrukturen beschäftige (aber nicht php) und der Umfang des Quellcodes hat damit recht wenig zu tun. Bei x^6 bis x^16 konnte ich mit einer Schleife gegenüber dem vorgesehenen Befehl bis 70% Prozessorzeit sparen (vermutlich eine Schwachstelle des Compilers).

Reguläre Ausdrücke kenne ich, nur habe ich mich damit nicht groß beschäftigt und ehrlich gesagt z.Z. auch keinen Bock auf Syntax Nummer 10. ;)

Kann man bei php die Programmlaufzeit messen? Mit microtime() müßte man schon was rausbekommen.
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“