Anti-Spam: Link restriction 1.4.1

License Agreement
GNU Lesser General Public License (LGPL)
Website
https://www.schloebe.de/
Supported Versions
Burning Board 4.0 / WCF 2.0
Burning Board 4.1 / WCF 2.1
WoltLab Suite 3.0
WoltLab Suite 3.1

Disables user posts if they have a too low post count and the post contains external URIs.

This plugin is a completely rewritten version of the Anti-Spam: Link Restriction 1.0.3 plugin which is not maintained anymore. Compatible with WBB 4.1 / WCF 2.1 and Woltlab Suite 3.0!


If you need Burning Board 4.0/4.1 / WCF 2.0/2.1 compatibility, please use version 1.3.x.


This plugin adds a feature that disables new posts, if they come from a user who has only a few submissions and contains external links. Thus, they must be tested first by a moderator. This will act against link spam, where users or spambots to register in the forum, only to publish links to external content and benefit from the links in search engines. Only checks for external links.


The options of the plugin can be found in the ACP under "System"-> "Options" -> "Forum" -> "Posts" -> "Post creation".


In addition, the function for all user groups can be turned off. The user group option can be found under "General Rights" -> "Forum" -> "Write permissions".


Source code on Github

Images

  • Version 1.4.1

    WSC 3.1, WSF 5.1 compatibility
  • Version 1.4.0

    WSC 3.0, WSF 5.0 compatibility bugfixes, removed image checks
  • Version 1.3.0

    WSC 3.0, WSF 5.0 compatibility
  • Version 1.2.0

    WBB 4.1, WCF 2.1 compatibility
  • Version 1.1.4

    Added option to add domains to be considered internal when checking.
  • Version 1.1.3

    Fixed a bug that prevented checking the post text on edit
  • Version 1.1.2

    Code fix
  • Das Plugin kollidiert mit dem CommunyBot, wenn man RSS mit dem Bot erstellen lässt.
    Sind da Links enthalten, werden die Themen/Beiträge deaktiviert - egal ob der erstellende User aus deinem Plugin Anti-Spam ausgenommen ist.
    ==> https://zaydowicz.de/wbb/index…icht-ver%C3%B6ffentlicht/

    Wäre toll wenn du da mal was zu sagen könntest, vlt hast du ja ne Idee an was das liegen kann ...

  • Die Spambots lernen dazu :(

    Könnte man diese Funktion auch auf die Pinnwand Einträge ausweiten?

  • Ich habe das Problem, dass ich durch die Erweiterung immer doppelte Einträge im Dashboard habe. Aber erst nachdem ich das Posting freigebe.

  • Ich habe das ganze installiert und es bringt mir immer einen Fehler wenn ich mit dem Bot von UdoZ einen Beitrag automatisch erstellen lasse.

    Dieser Beitrag wird von mir (Admin) erstellt und ich habe mehr als die 10 Beitraege, die gebraucht werden. Kann man das irgendwie anpassen/abstellen, dass meine Beitraege da gleich frei geschalten werden?

    • Der Check kann pro Benutzergruppe deaktiviert werden.

    • Das wurde bereits gemacht, aendert aber nichts.


      Gruss

    • Hat dein Benutzer ggf. mehrere zugewiesene Benutzergruppen, die sich gegenseitig aushebeln? Also bspw. Benutzergruppe A ist das Nutzen beliebig vieler Links erlaubt, aber Benutzergruppe B ist es nicht erlaubt?

    • Ich hatte als Admin noch eine "tiefere" Gruppe aktiviert. Sollte die Admin Gruppe nicht "ueber" allem stehen? Ich teste das mal mit der Gruppe deaktiviert.

    • Ich kenne mich bzgl. der Rechtestruktur nicht sonderlich aus, leider.

  • Wäre super, wenn das Plugin mit WSF 5.1 kompatibel gemacht wird. Soweit ich bei kleineren Tests erkennen kann läuft es damit problemlos, wenn man es in der package.xml entsprechend kompatibel angibt. Gruß + Danke

  • Wäre es auch möglich die Linkbeschränkung im Titel anzuwenden ?
    Wir bekommen seit neuestem massiv Werbung wo die Url nur im Titel steht. WBB bietet ja leider keinerlei Spamschutz der einen davor bewahrt :(
    Was auch nett wäre (also Option) wenn beim posten das ganze direkt abgewiesen wird (außer man nutzt einen Link aus der whitelist) anstatt es an die manuelle Überprüfung weiterzuleiten.

  • In Version 1.4.0 wurde die Bilderprüfung entfernt? Hmmm, im ACP gibt es den Option "Beschränkung auf Bilder ausweiten" aber noch immer? Was wurde denn da entfernt?

    • Wenn Du das Plugin deinstallierst und dann die neue Version installierst ist die Bilderprüfung nicht mehr vorhanden.

    • Die Bilderprüfung habe ich vorerst entfernt, da sich da in der WoltLab Suite einiges geändert hat und ich die neue Version erstmal fix draußen haben wollte für die neue Version, da ich diese auch selbst für diverse Foren benutze. Ich habe aber vor, die Bilderprüfung wieder mit aufzunehmen, kann aber derzeit nicht sagen, wann ich dazu komme.

    • Dann sollte ich die alte Version vorher deinstallieren?

    • @PoookMukkel Jepp.

    • Optionen für die Bilderprüfung sind nun nicht mehr da. :)

  • danke!

  • Bei mir funktioniert das Plugin zur Zeit ganz genau so, wie ich es auch aus dem WCF 2.1 gewohnt war.


    Ich wünsche mir eine (hoffentlich einfache) Verbesserung: Momentan führt der Prozess des Deaktivierens dazu, dass in der Moderation gemeldet wird, dass der User seinen Beitrag quasi selbst deaktiviert habe. Kann man das so ändern, dass da sinngemäß steht "Der Beitrag wurde von DER LINK-BESCHRÄNKUNG deaktiviert?

  • Hab jetzt kreuz und quer getestet, es funktioniert einfach nicht. User mit nur einem Beitrag können locker lustig Links setzen soviel sie wollen.
    Einstellungen hab ich alle vorgenommen, es bringt nix, ob mit Bilder, ob ohne Bilder.. ich habs deinstalliert.

    • Da das plugin bei anderen funktioniert gehe ich mal davon aus dass du es falsch eingestellt hast. Wahrscheinlich hast du eine Gruppe vergessen.

    • Sorry, keine Gruppe vergessen.. Hab es jetzt noch einmal in meiner Testumgebung getestet.. mich an alle Anweisungen gehalten und dann als Admin abgemeldet, als Reg. User mit nur 3 Beiträgen angemeldet.. ein neues Thema mit 2 Links erstellt.. Da wird nichts blockiert oder zur Moderation gestellt..

    • Haben die betreffenden User mehrere Benutzergruppen? Erhalten Sie von einer der Benutzergruppen das Recht ohne Link-Beschränkung zu posten? Hast Du probeweise für die betreffende Benutzergruppe das Recht auf "Nie" gestellt, um die Rechte aus anderen Benutzergruppen zu überschreiben?

    • funktioniert für mich auch nicht (wcs 3.0)
      Linkbeschränkung ist aktiviert
      - min ist auf 3
      - max auf 0


      "Kann Links ohne Beschränkung in Beiträgen verwenden" bei allen Gruppen auf nie.


      Neue Benutzer können ohne Probleme Links aller Art posten.


      -edit- fixed - der Maintenance Mode zerstört die Funktion des Plugins, sobald der aus ist geht es :)

    • Eine aus meiner Sicht gute Änderung wäre, das man die Option hätte einen Beitrag statt nach dem posten zu deaktivieren gar nicht erst zuzulassen wenn er in die Beschränkung läuft.

  • Vielen Dank für diese wichtige Erweiterung und deine Arbeit. :-)

  • Haben wir eine Chance das Plugin für die neue Suite zu bekommen? Ich denke, es wäre dem ein oder anderen Nutzer auch ein paar Euro Wert.

    • Ich habe mal die package.xml für das WSC angepasst und siehe da: Das Plugin scheint ohne jegliches Problem zu funktionieren. Sowohl die Optionen im ACP als auch die eigentliche Funktion des Plugins scheint okay zu sein. Es wäre also toll, wenn es ein offizielles "Update" geben würde. Vielen Dank.

    • Hallo Donner, kannst Du mir kurz sagen, welche Anpassungen Du für die package.xml vorgenommen hast? Habe aktuell leider kein WSC zum Testen. Danke!

    • Ich habe für mich tatsächlich nur das eingetragen, um in meiner 3er-Test-Installation installieren zu können.


      <requiredpackages>
      <requiredpackage minversion="3.0.0">com.woltlab.wcf</requiredpackage>
      <requiredpackage minversion="5.0.0">com.woltlab.wbb</requiredpackage>
      </requiredpackages>


      Wobei es eine Qual ist, wenn man im WSC 3 alles neu installieren muss. Also (wenn möglich) besser noch im WCF 2.1/WBB 4.1 ein kleines Update anbieten, dass dann anschließend ein Update auf WSC 3 erlaubt. Vermutlich müsste man folgendes machen, wenn man unterstellt, dass das Plugin tatsächlich für WCF 2.1 und WSC 3 kompatibel ist:


      <requiredpackages>
      <requiredpackage minversion="2.1.0">com.woltlab.wcf</requiredpackage>
      <requiredpackage minversion="4.1.0">com.woltlab.wbb</requiredpackage>
      </requiredpackages>
      <excludedpackages>
      <excludedpackage version="3.1.0 Alpha 1">com.woltlab.wcf</excludedpackage>
      <excludedpackage version="5.1.0 Alpha 1">com.woltlab.wbb</excludedpackage>
      </excludedpackages>


      Ob das so wirklich korrekt ist, muss bitte jemand sagen, der ersthaft Plugins für WCF/WBB erstellt.

    • Hallo Donner, danke! Ich muss mir das nochmal genauer anschauen, denn so ganz erschließt sich mir die ganze Sache noch nicht.


      In meiner package.xml des derzeitigen Plugins steht ja
      <requiredpackage minversion="2.1.0">com.woltlab.wcf</requiredpackage>
      <requiredpackage minversion="4.1.0">com.woltlab.wbb</requiredpackage>


      Das heißt, es sollte doch auch com.woltlab.wcf 3.0.0 und com.woltlab.wbb 5.0.0 mit einschließen, weil nur minversion angegeben ist und keinerlei <excludedpackage>. Daher erschließt sich mir noch nicht ganz, wieso ich die minversion erhöhen muss, wenn das Plugin offenbar mit den älteren Versionen vom WCF als auch mit der neuesten Version von WSC läuft.

    • Da hast Du vermutlich Recht. Ich hatte es schlichtweg zuvor gar nicht probiert, da ich sowieso ursprünglich Probleme erwartet hatte. Ich hätte die Min-Version wohl nicht erhöhen müssen für meinen Versuch. Wenn ich nicht irre, sollen allerdings inzwischen alle Plugins ein exclude für höhere Versionen in der package.xml haben.

  • Webadressen werden zwar blockiert, aber es gibt auch vermehrt Spam, wo nur Emailadressen angegeben werden. Kann man das Plugin nicht noch auf Mailadressen erweitern?

  • Very nice plugin thank you


    Please add the following feature:


    1- Scan blogs many spammers use blogs to spam
    2- Check for email addresses spammers now post emails instead of URLS.
    3- Ignore rss feeds threads if they have links

  • Normalerweise funktioniert das Plugin so, wie es soll. Allerdings habe ich jetzt ein Problem... Im News System von WBB-Elite werden News per RSS Feed erstellt. Diese werden alle im Namen meines Bots erstellt. Zusätzlich wird zu jeder News ein Thema im Forum erstellt, welches eine Quellangabe enthält. Und genau diese Themen werden jetzt deaktiviert. Der Bot hat definitiv mehr als die eingestellte Mindestanzahl der Beiträge. Somit sollte die Beschränkung gar nicht greifen. Außerdem habe ich die Domains, die in der Quellenangabe verlinkt werden, in die Liste der internen URLs aufgenommen. Trotzdem greift die Linkbeschränkung... :(
    Ich habe die Funktion erstmal deaktiviert. Woran könnte dieses Fehlverhalten liegen? Bekommt man das gefixt?

    • Hi PoooMukkel, ist natürlich schwierig, so aus der Ferne zu sagen, was es sein könnte, zumal in der Zwischenzeit nichts am Plugincode geändert wurde.
      Hast du die Bildbeschränkung ggf. aktiv? Vielleicht liefert der RSS Feed, aus dem du die Beiträge erstellst, neuerdings Bilder mit, wodurch dann die Beiträge deaktiviert werden?
      Kannst du sagen, welche Domains im RSS-Feed vorkommen und welche du blockst? Vielleicht maskiert der RSS Feed ja die URLs mit einem Service wie bit.ly oder ähnlich.

    • Danke für die Rückmeldung! :)
      Nein, die Bildbeschränkung ist nicht aktiv.
      RSS Feeds lese ich die folgenden aus: http://www.pcgames.de/extimages/rss/pcgfeed.xml & http://www.computerbase.de/rss/news.xml
      Geblockt werden gar keine URLs. Die Domains computerbase.de & pcgames.de habe ich sogar als zusätzliche interne URLs definiert.
      Außerdem befindet sich der Bot, der die News postet, in der Benutzergruppe "Bots" und Gruppe "Kann Links ohne Beschränkung in Beiträgen verwenden".
      Ich wüsste nicht, wo ich noch suchen soll...

    • Weiß nicht, ob das relevant ist, aber wenn die RSS-Feeds zu den Artikeln verlinken, dann vermutlich mit www. domain.de, oder? Probier mal zusätzlich zu pcgames.de noch www. pcgames.de hinzuzufügen. Analog dazu für computerbase.de.

    • Hmmm, das scheint jetzt mit dem www davor zu funktionieren. Aber eigentlich sollte der Bot doch gar nicht ins Raster fallen, weil seine Benutzergruppe doch das Recht hat, Links ohne Beschränkung zu posten oder?

  • Habe eben die Version 1.1.4 installiert (wbb4.0.11/wcf 2.0.12) und seitdem wird die Zeit hinter den Beiträgen nicht mehr richtig angezeigt. Statt Datum und Uhrzeit sthet dort nun: wcf.date.shortDateTimeFormat, bzw. bei den Konversationen: wcf.date.relative.minutes. Irgendeine Idee was das sein könnte?
    Ein Deaktivieren hilft auch nicht, erst als ich das PlugIn wieder deinstalliert hatte, war die Zeitanzeige wieder normal.

  • Moin Alpha!


    WÜNSCHE :P
    1. Beitrag nicht deaktivieren, sondern User drauf hinweisen: ->Spachvariable <AntiSpamExceptionMsg>
    Das Absenden sollte in dem Fall nicht erlaubt sein.


    2.
    Wahlweise auf Bild-Links beschränken (jpg, gif, png, bmp)


    Das wäre der Hammer!
    Schaffst Du bestimmt nicht... :P

    • Hi Richard,


      1. Das Posten generell unterbinden, würde ich ungern. Hatte mir dazu einige Gedanken gemacht, und ich würds ehrlich gesagt so lassen wie es ist, dass die Moderatoren des Forums entscheiden, ob der Post erscheint oder nicht. Dafür sind sie da. Wenn man das Posten strikt untersagt, unterstellt man jedem neuen User mit Link im Post, dass er spammen will. Diese Entscheidung sollte aber ein Mensch (Moderator) treffen, finde ich. ;)


      2. Schaue ich mir mal an. Nach Bildern kann man aktuell ja schon zusätzlich suchen, aber nicht ausschließlich.


      Grüße nach Hamburg!

  • Mir ist folgendes aufgefallen, was meine User oft sehr verwirrt: Poste ich einen Beitrag, der erstmal deaktiviert ist, so bekommt der User nicht die Meldung, dass dieser erst von einem Moderator freigeschaltet werden muss, sondern er wird in den Thread weitergeleitet, was zu einer "Zugriff verweigert"-Fehlermeldung führt. Das verwirrt sehr!

    • Welche Forenversion? Das sollte eigentlich nicht passieren, denn ein Nutzer kann ja seinen eigenen Beitrag sehen, obwohl er deaktiviert ist.

    • WBB 4.0 (also nicht 4.1). Aber wieso sollte ein User seinen deaktivierten Thread sehen können? Deaktiviert ist deaktiviert.

    • Okay, meine Aussage bezog sich auf 4.1, denn da sieht es so aus, wenn ein Spammer einen Thread erstellt, der gesperrt wird: http://screens.schloebe.de/image_2015-05-22_08_48_57_000.jpg Bei Posts ist es genauso. Ein Spammer sieht seinen gesperrten Beitrag mit dem Hinweis, aber niemand sonst.
      In 4.0 ist das in der Tat suboptimal, aber es gibt da keine Möglichkeit, das zu umgehen via Plugin. In 4.1 ist das systemseitig deutlich besser gelöst.

    • Sehr schade. Ich denke, ich werde dann vorerst auf das Plugin verzichten müssen, bis ich auf 4.1 aktualisiere. Zusammen mit dem anderen Bug (weiter unten) macht das Plugin mehr Probleme als es löst. Trotzdem danke für deine Mühe.

  • Vielen Dank für die sinnvolle Erweiterung.

  • Eine Whitelist wäre echt hilfreich. Hier kämen dann einige erlaubte Adressen rein, wie: Wikipedia oder sonstige Portale auf die zu linken für Spammer nicht lohnt.

    • Es gibt doch seit 1.1.4 eine Art Whitelist. Man kann im ACP Domains eintragen, die von der Linkbeschränkung nicht blockiert werden. Das Feature könnte aber verbessert werden. Momentan muss man jede Subdomain getrennt eintragen (z.B. "blog.woltlab.com", "pluginstore.woltlab.com", etc.). Es wäre schön, wenn die Subdomains automatisch frei gegeben werden, wenn die Hauptdomain aufgelistet ist. Eventuell könnte man auch in der Art "*.woltlab.ocm" Freigaben erteilen? Das wäre super.

    • Donner : Das würde grundlegend schon gehen, aber das würde dann für alle gelten. Es kann ja aber auch sein, dass jemand unter teamedward.myspace.com hostet, aber nicht will, dass man auf teamjacob.myspace.com verlinken kann. Dann wäre eine Feingliedrung pro Subdomain schon besser, sonst sperren wir Möglichkeiten von vornherein aus. ;)

    • Ah cool. Dann kann ich es doch einsetzen!

  • Im Gegensatz zu Adam Howards Aussage funktioniert das Plugin bei mir leider nicht unter WBB 4.1. Trotz (kontrolliert) korrekter Einstellungen. Im WBB 4.0.x lief es wie gewünscht.

    • Rückmeldungen von anderen Usern?

    • Bei mir funktioniert das Plugin leider auch nicht mehr im WBB 4.1. :(


      Ich habe eingestellt, dass 15 Beiträge benötigt werden, um Links zu posten. Im WBB 4.0 klappte das super. Seitdem ich WBB 4.1 installiert habe, werden von neuen Usern fleißig Links gepostet. Hatte eben einen neuen User, der nach seinem dritten Beitrag einen Link gepostet hat. Dieser Beitrag wurde nicht zur Moderation vorgelegt, wie es eigentlich sein sollte...


      Gibt es eine Chance, das Plugin unter WBB 4.1 zum Funktionieren zu bewegen?

    • Going to have a look at it ASAP. :)

    • Danke für das schnelle Fixen! :)

    • Version 1.2.0 funktioniert jetzt wieder im WBB 4.1.x. Danke!

  • Compatible with 4.1?

  • Das Plugin stört andere Plugins bzw. WBB-Funktionen, die Themen/Beiträge per Cronjob erstellen/ändern, weil nur die Session-Daten zur Prüfung genutzt werden. Bei Cronjobs kann sich aber jeder hinter der Session verstecken und es wird selten der Benutzer sein, dem das Thema / der Beitrag tatsächlich gehört.

  • Hallo AlphawolfWMP , hab das gleiche wie King555, sobald ein neuer User was schreibt, kommt eine Fatal Error Seite bei mir:


    "Fatal error: An error occured. Sorry. Information: ID: 58a9e688a9cfda53ab3a4b9e8800aa555ed7d156. Bitte teilen Sie dem Betreiber die oben stehende ID mit.Die Fehlermeldung kann mit dieser ID über „ACP » Protokoll » Fehler“ eingesehen werden."


    udn nach dem man es aktualisiert hat (die Seite) kann man es trotzdem im der Übersicht sehen (das Thema) und auch in der Vorabansicht (Preview) kann man die Links auch erkennen. Mich stört am meisten die Error Meldung, weil der User in dem Moment nicht weiter weisst, was er gemacht hat. Error Inhalt schicke ich dir per PN.

  • Habe einen meiner Meinung nach schwerwiegenden Fehler gefunden: Der User postet einen Text mit Link und das Posting ist im Thread unsichtbar. ABER: Es taucht in der Forenübersicht, in der Threadübersicht und im Dashboard auf (inkl. Preview)!

  • Love this concept. Hope its continued in 4.1 / 2.1

  • Super Sache, ich hatte schon vor langem danach gefragt (Links in Posts erst nach X Beiträgen), jetzt wurde es endlich umgesetzt.
    Wäre es vielleicht noch möglich die Standartfehlermeldung für denjenigen der unberechtigt einen externen Link gesetzt hat zu ändern? Z.B. "Mitglieder mit weniger als X (Einstellung im ACP) Beiträgen dürfen in Beiträgen keinen externen Link einfügen, der Admin wird deinen Link ansehen und eventuell deinen Beitrag noch freischalten."

    • Da das meistens Spammer und Linkbuilder sind, die externe Links als Neubenutzer droppen, sollten sie eigentlich gar nicht wissen, dass ihr Beitrag nicht öffentlich zu sehen ist. Sozusagen als Strafe. ;)

    • Es wäre trotzdem besser, die Standard-Meldung "Ihr Thema unterliegt der Moderation und wird erst nach einer Freischaltung sichtbar." anzuzeigen. Wir würden das Plugin auch gerne nutzen, allerdings dürfen bei uns (zu Vorstellungszwecken) Links gepostet werden. Daher betrifft das in unserem Fall die meisten User und da ist die Fehlermeldung sehr unschön und führt zu Verwirrung. Könntest du das eventuell ändern?

    • Ja, könnte man das Bitte ändern?

  • Great plugin! I need this to also work in other apps.. blog comments, gallery comments, profile wall comments. Can I pay you to improve it?

  • Kann es vielleicht sein, dass die Beschränkung der Beiträge bei den verlinkten Bildern nicht greift? Ich nutze einen Bot, der ein Willkommensthema schreibt. Einen solchen Beitrag musste ich gerade manuell freischalten. Es sind interne Links und ein externes Bild enthalten. Die Beitragsgrenze wurde von mir auf 15 Beiträge gesetzt. Der Bot hat aber schon über 200 Beiträge. Somit hätte die Linkbeschränkung doch für ihn nicht gelten sollen. Richtig?

    • Ich habe die Beschränkung für externe Bilder deaktiviert und nun werden die Willkommensthemen, die der Bot erstellt, direkt gepostet. Es ist keine Freischaltung mehr nötig. Hier sollte das Plugin scheinbar nochmal überarbeitet werden.

  • HerzlichenDank für die hervorragende Umsetzung, dieses Plugin erspart mir und meiner Mannschaft, eine menge Arbeit! es Funktioniert "Einwandfrei"