Wiki source code of AntiSpam

Last modified by Vincent Massol on 2026/08/14 18:41

Show last authors
1 The [[AntiSpam Tools application>>doc:extensions:Extension.AntiSpam Tool Application.WebHome]] gives an administrator two independent defences against spam. Spam Checking refuses a page at save time when the page looks like spam and disables the account that submitted it, while Spam Cleaning finds spam that is already on the wiki and removes it together with its author. Both read everything they need from [[wiki pages in the AntiSpam space>>doc:documentation.extensions.admin.antispam.configuration.WebHome]], and every screen they provide requires programming rights.
2
3 {{plantuml}}
4 @startuml
5 !theme bluegray
6 skinparam componentStyle rectangle
7
8 actor "Contributor" as USER
9 actor "Administrator" as ADMIN
10
11 component "**Spam Checking**\nvetoes a page save" as CHECK
12 component "**Spam Cleaning**\nthe application home page" as CLEAN
13 component "**Protection**\nadmins, known users, known groups" as PROT
14
15 database "**AntiSpam.Keywords**\none regular expression per line" as KW
16 database "**AntiSpam.IPAddresses**\nbanned addresses" as IP
17 database "**AntiSpam.DisabledUsers**" as DU
18 database "**AntiSpam.Logs**\nmatched keywords" as LOGS
19
20 USER --> CHECK : saves a page
21 KW --> CHECK
22 IP --> CHECK
23 CHECK --> USER : save cancelled
24 CHECK --> IP : bans the address
25 CHECK --> DU : records the account
26 CHECK --> LOGS : records the match
27 ADMIN --> CLEAN : searches a keyword or an account
28 KW --> CLEAN : reused when checking a page
29 PROT ..> CHECK : never disable
30 PROT ..> CLEAN : never delete
31 @enduml
32 {{/plantuml}}
33
34 The keyword list and every cleaning screen are reached from the [[application home page>>doc:documentation.extensions.admin.antispam.open-application.WebHome]].
35
36 Spam Checking needs no attention once its keyword list is populated: [[Configure Spam Keywords>>doc:documentation.extensions.admin.antispam.configure-keywords.WebHome]] builds that list, and [[Spam Detection When Saving a Page>>doc:documentation.extensions.admin.antispam.spam-detection.WebHome]] describes what is inspected and what a match costs the account.
37
38 Spam Cleaning is the day-to-day work: [[Delete Spam Pages and Users>>doc:documentation.extensions.admin.antispam.delete-spam-pages-users.WebHome]] removes the spam revisions and the accounts behind them, [[Review the Latest Changes for Spam>>doc:documentation.extensions.admin.antispam.review-latest-changes.WebHome]] spots an attack in the event list, and [[Delete Inactive Users>>doc:documentation.extensions.admin.antispam.delete-inactive-users.WebHome]] removes accounts that registered and never contributed.
39
40 What makes running any of this on a live wiki safe is that neither mechanism can touch a [[protected user>>doc:documentation.extensions.admin.antispam.protected-users.WebHome]]. The lists they read, and the two settings they take from the wiki administration, are listed in [[AntiSpam Configuration>>doc:documentation.extensions.admin.antispam.configuration.WebHome]].

Get Connected