Seite 1 von 9

[FINAL] [CDB][3.3] Spamsecure

Verfasst: 22.03.2022 20:40
von chris1278
Name der Extension: Spamsecure by 69bruno

Autor: 69bruno
CO-Autor: Chris1278

Version der Extension: 1.0.

Voraussetzungen:
  • phpbb 3.2.10 aufwärts
  • php 7.0 +
Kompatibel mit:
Vorabinfo:

Diese Extension ist von 69bruno und mir gemacht worden. Wobei ich hierbei nur das Extension Gerüst geliefert habe und er die Funktion an sich dort integriert hat. Da Bruno selbst keine Zeit hat im Moment sich um alles zu kümmern habe ich mit Ihm vereinbart die Extension hier für Ihn zu veröffentlichen.

Download:

Download Aktuelle Version

Version 1.05
Folgende updates wurden ausgefüht:
  • Die Erweiterung wurde kompatibel zu der Extension [3.3] Toggle Control (Schalter-Stil zentral festlegen) gemacht. Damit greifen sofern die andere Extension aktiv ist die dort eingestellten parameter zur Darstellung der Auswahl Buttons im ACP.
  • Die Radio Buttons wurde direkt mit Toggle Buttons ersetzt.
  • Es kann im ACP jetzt ausgewählt werden was geprüft wird:
    • Nur die Eingabe des Nachrichtenfeldes überprüfen
      • Hierbei wird nur das was in dem Texteingabefeld der Nachricht ist überprüft (Standard)
    • Alle vorhandene Eingabe Felder Prüfen
      • Hierbei werden alle Felder des übermittelten Formulars überprüft
  • Einige Code - Optimierungen
Version 1.05
Es wurden zwei Schalter hinzugefügt. Einmal kann man jetzt wie bei den drei Sprachen auch Links per Ja/Nein auswählen. Und die Benutzerdefinierte Regex eingabe wurde auch mit einem Entsprechenden Schalter versehen.

Desweiteren wurden auch einige Codeoptimierungen vorgenommen.


Version 1.04
Hier in dieser Version wurde ein Fehler gepatcht und schon einige codeanpassungen vorgenommen die bei der Codeprüfung auf phpbb.com in der ersten runde als Verbesserung angemahnt worden sind. Insbesondere das die festen Sonderzeichen nicht mehr über den php constructor geladen werden sondern als constante in der listener.php gehandelt werden.

Version 1.0.3
Wichtig: Bitte unbedingt folgendes beachten:
Durch einen Fehler beim auslegen des Berechtigungssystem mussten wir dies etwas anpassen. Beim Update werden alle vorhandenen Berechtigungen gelöscht und durch JA ersetzt. Da in der vorheriegen Version das erst auf Ja gesetzt werden musste um zu greifen muss es ab dieser Version auf Nein stehen um zu greifen. Das andere hatte denn nachteil das die Option "Nie" nicht gegriffen hat. Dies tut es jetzt aber.


Version 1.0.2
Es wird empfohlen die Erweiterung vorher komplett zu deinstallieren. Da sich die Benutzung der Datenbankvariablen zwischen Version 1.0.0/1.0.1 und 1.0.2 Grundlegend geändert haben.


Beschreibung der Extension
Diese Extension kann benutzt werden um Beiträge, Anfragen übers Kontaktformular (Original und contactadmin) abzufangen und auf bestimmte Voraussetzungen Prüfen.

Da sich die Erweiterung um einiges verändert hat setze ich diese Beschreibung nochmal neu auf.

Die Erweiterung ist in zwei Bereiche unterteilt.

1. Bereich: Einstellungen für nicht erlaubte Zeichen/Zeichenketten

Dieser Bereich kann benutzt werden um z.B. auf Spezielle Zeichen oder Zeichenketten zu prüfen. Als Voreinstellungen können folgende Optionen ausgewählt werden:
  • Kyrillische Zeichen Verbieten
    Wenn ausgewählt werden die Beiträge vor absenden auf eben diese überprüft und sofern sich Kyrillische Zeichen in der Nachricht befinden erhält der Benutzer eine entsprechende Fehlermeldung.
  • Chinesische Zeichen verbieten
    Wenn ausgewählt werden die Beiträge vor absenden auf eben diese überprüft und sofern sich Chinesische Zeichen in der Nachricht befinden erhält der Benutzer eine entsprechende Fehlermeldung.
  • Hindi-Zeichen verbieten
    Wenn ausgewählt werden die Beiträge vor absenden auf eben diese überprüft und sofern sich Hindi-Zeichen in der Nachricht befinden erhält der Benutzer eine entsprechende Fehlermeldung.
Für den Fall das Ihr andere Schriftarten noch unterbinden wollt gibt es auch die Option zusätzlich noch:
  • Benutzerdefinierte Eingabe aktivieren
    Bei Aktivierung dieser Funktion könnt ihr dann in der Eingabzeile die Begriffe oder Zeichenketten eingeben die nicht durch die Drei vorherigen Optionen abgedeckt sind.
Anmerkung diese Vier Optionen sind kombinierbar zu benutzen. Bei den Ersten Drei Schaltern ist die Sprache schon eingetragen und muss nicht extra in die Zeile eingetragen werden.

Des weiteren könnt ihr auch mit der Benutzerdefinierte Eingabe links unterbindet wenn ihr http oder www eingebt.

Beispiel für Eingabe und Eingabe Format

Die Zeichen sind unabhängig ob Groß oder klein geschrieben wie folgt einzugeben:
1,d,http,ftp

Mit diesem Beispiel würde eine Fehlermeldung ausgelöst wenn in dem Beitrag eine 1 oder ein d oder http oder www vorkommt. Wenn man aber nur ein h oder ein w nutzt in einem Wort würde keine Fehlermeldung ausgelöst.

Beispiel:
Hans findet 1 Geldschein. <- Fehler
http://meinedomain.de <- Fehler
Ich habe ein Auto. Hier ist ein h drin aber da als wert zwischen den Kommas http steht würde nur bei vollständiger Zeichenkette eine Fehlermeldung ausgelöst.

Bei ausgelöster Fehlermeldung erhält der Benutzer folgende Fehlermeldung:

Die Nachricht enthält die nachfolgende Anzahl unerlaubter Zeichen/Zeichenketten: (Zahl)

Wobei Ihm auch gleich angezeigt werden wieviel Zeichen bzw. wie viele Zeichenketten er falsch hat.
  • Anzeige der "nicht erlaubten Zeichen/Zeichenketten" bei der Fehlermeldung
    Hier könnt ihr auswählen ob ihr gern dem Benutzer die Zeichen anzeigen wollt die er nicht verwenden darf. Bei Aktivierung werden dem Benutzer dann in einer Zeile unter der Fehlermeldung folgendes angezeigt: Folgende Zeichen/Zeichenketten sind nicht erlaubt:, gefolgt von den nicht erlaubten Zeichen/Zeichenketten. Wobei ihr dann natürlich auch steuern könnt bis zu wieviel Zeichen ihr maximal anzeigen lasssen möchtet.
  • Option für den Zähler der "nicht erlaubten Zeichen"
    Hier könnt ihr den Wert einstellen wie viele Zeichen die der Benutzer falsch benutzt hat ihm angezeigt werden.

1. Bereich: Einstellungen Prüfung durch "Regex" Codierung
Hier könnt ihr ganze Begriffe und Ausdrücke Verbieten die ihr unter Berücksichtigung des vollwertigem Regex code eingeben müsst.


Beispiel:
Ein einfaches Beispiel wäre: /http:|ftp:|www:/
Ein Komplexes Beispiel wäre: /(((http|https):\/\/)|(www\.))[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,}(:[0-9]+)?(\/\S*)?/

Warnung: Aus Sicherheitsgründen wird bei Fehlerhaftem Regex Code die Übermittlung an die Datenbank nicht ausgeführt.

Re: [DEV] [3.3] Spamsecure

Verfasst: 26.03.2022 12:44
von guenniguenzelsen
Hi,
vielen Dank für diese klasse Erweiterung.
Ich habe sie installiert uns sie funktioniert sehr gut.

Um Kyrillisch und Chinesisch auszusperren, habe ich diese Zeichen in die Sperrliste eingegeben:
бфяДжлпдИиЧ是的例如和噸正確的米世種

Damit ist es quasi unmöglich einen Text in einer der beiden Sprachen zu verfassen.
Evtl. ist das ja nochmal für jemanden hilfreich (copy/paste).

Falls Du darüber nachdenkst die Erweiterung noch etwas zu verfeinern, hier eine Rückmeldung:
Es kann interessant sein die einzelnen Sperren (Zeichen / Ausdrücke / Links) unterschiedlichen Nutzergruppen zuzuweisen.

Beispiel:
Alle User können nichts in Kyrillisch oder Chinesisch posten
Zusätzlich dürfen kürzlich registrierte User keine Links posten

Hoffe es ist ok, direkt hier unter dem Veröffentlichungsthread zu schreiben (?)

Gruß
Thomas

Re: [DEV] [3.3] Spamsecure

Verfasst: 26.03.2022 12:53
von chris1278
Ok es wäre durchaus möglich die beiden Funktionen durch separate Berechtigungen zu Steuern. Wir haben das erst mal nur so gemacht das es generell durch die phpbb Berechtigungen abgedeckt ist. Aber ja das wäre durchaus machbar. Wenn ich mal Zeit habe werde ich das mal versuchen umzusetzen. Im Moment habe ich noch andere Baustellen die zuerst abgearbeitet werden müssen.

Re: [DEV] [3.3] Spamsecure

Verfasst: 06.04.2022 21:53
von chris1278
guenniguenzelsen hat geschrieben: 26.03.2022 12:44 Hi,
vielen Dank für diese klasse Erweiterung.
Ich habe sie installiert uns sie funktioniert sehr gut.

Um Kyrillisch und Chinesisch auszusperren, habe ich diese Zeichen in die Sperrliste eingegeben:
бфяДжлпдИиЧ是的例如和噸正確的米世種

Damit ist es quasi unmöglich einen Text in einer der beiden Sprachen zu verfassen.
Evtl. ist das ja nochmal für jemanden hilfreich (copy/paste).

Falls Du darüber nachdenkst die Erweiterung noch etwas zu verfeinern, hier eine Rückmeldung:
Es kann interessant sein die einzelnen Sperren (Zeichen / Ausdrücke / Links) unterschiedlichen Nutzergruppen zuzuweisen.

Beispiel:
Alle User können nichts in Kyrillisch oder Chinesisch posten
Zusätzlich dürfen kürzlich registrierte User keine Links posten

Hoffe es ist ok, direkt hier unter dem Veröffentlichungsthread zu schreiben (?)

Gruß
Thomas
So ich habe jetzt die Berechtigungen angepasst.

Bisher konnte man mit den Berechtigung nur Generell die Ganze Funktion an sich pro Gruppe steuern.

Diese Berechtigung wurde jetzt geändert. Jetzt ist es Möglich jede der beiden zu Prüfenden Optionen für die Benutzer/Gruppen einzeln einzustellen.

Allerdings bleibt die Abfrage für Beiträge als auch fürs Kontaktformular bestehen. Sprich die Einstellungen greifen bei Beiträgen und Kontaktformular.

Und klar ist das ok. Dafür ist das Thema ja da.

Re: [DEV] [3.3] Spamsecure

Verfasst: 07.04.2022 09:59
von guenniguenzelsen
chris1278 hat geschrieben: 06.04.2022 21:53 So ich habe jetzt die Berechtigungen angepasst.

Bisher konnte man mit den Berechtigung nur Generell die Ganze Funktion an sich pro Gruppe steuern.

Diese Berechtigung wurde jetzt geändert. Jetzt ist es Möglich jede der beiden zu Prüfenden Optionen für die Benutzer/Gruppen einzeln einzustellen.

Allerdings bleibt die Abfrage für Beiträge als auch fürs Kontaktformular bestehen. Sprich die Einstellungen greifen bei Beiträgen und Kontaktformular.

Und klar ist das ok. Dafür ist das Thema ja da.
Mit dem Update scheint ein Fehler reingekommen zu sein.
Ich habe diese Zeichen gesperrt:
бфяДжлпдИиЧ是的例如和噸正確的米世種

Nun werden Umlaute (weitere Zeichen noch nicht getestet) als nicht erlaubte Zeichen erkannt.

Gruß
Thomas

Re: [DEV] [3.3] Spamsecure

Verfasst: 09.04.2022 11:16
von guenniguenzelsen
Hallo Chris, hallo Bruno,
ich habe heute nochmal etwas detailierter getestet.
Eintrag bei nicht erlaubten Zeichen (um Russenspam außen vor zu halten): бфяДжлпдИиЧ

Diese Zeichen werden dann ebenfalls als nicht erlaubte Zeichen erkannt, beim Versuch einen Text zu veröffentlichen:
Ä (nur als Großbuchstabe)
ö (nur als Kleinbuchstabe)
§
´
Diese Zeichen funktionieren:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
1234567890
äü
ÖÜ
ß
.,;!?:+-*#'_!"$%&/()=<>|@ €

Hast Du einen Tipp, was ich hier ggf noch falsch mache?

Gruß
Thomas

(Versuche ich zudem auch chinesische Zeichen zu sperren 是的例如和噸正確的米世種 dann werden weitere Buchstaben/Zeichen als nicht gültig erkannt)

Re: [DEV] [3.3] Spamsecure

Verfasst: 09.04.2022 13:33
von Renix
Eine Extension mit der es möglich ist, Beiträge die bestimmte Zeichen enthalten, nicht zu zulassen, danach suche ich schon länger.
In der heutigen Zeit mit den vielen Spamern eine überaus nützliche Erweiterung.
Prima das Ihr Euch an eine derartige Extension gemacht habt.

Habe sie getestet mit phpBB 3.3.3 und phpBB 3.2.8, Style „prosilver“.
Spamsecure-Version 1.0.1
Das vorab beschriebe Problem, kann ich bestätigen, Texte mit Umlauten werden ebenfalls nicht zugelassen.
Gibt es zwischenzeitlich dazu was Neues?

Grüße Renix

Re: [DEV] [3.3] Spamsecure

Verfasst: 09.04.2022 14:03
von 69bruno
Kann ich nachstellen, habe aber ad hoc keinen Plan, warum das so ist. Nach UTF 8 Codierung sind da keine Doppelungen...
Werde ich mir genauer ansehen, wenn es die Zeit erlaubt.

Re: [DEV] [3.3] Spamsecure

Verfasst: 12.04.2022 20:52
von 69bruno
Kurzer Zwischenstand,
wir sind dran. Haben einen Workaround gefunden, der Umlaute und (manche)Sonderzeichen aus der Prüfung nimmt.
Jetzt muss noch ein Problem mit dem original PHP-Kontaktformular gelöst werden.

Re: [DEV] [3.3] Spamsecure

Verfasst: 13.04.2022 21:06
von guenniguenzelsen
Danke für die Statusmeldung.
Ich warte geduldig :-)