Wiki source code of AntiSpam
Last modified by Vincent Massol on 2026/08/14 18:41
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 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]]. |