Wiki source code of AntiSpam Techniques
Last modified by Nikita Petrenko on 2025/07/13 14:53
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | {{box cssClass="floatinginfobox" title="**Contents**"}} | ||
| 2 | {{toc/}} | ||
| 3 | {{/box}} | ||
| 4 | |||
| 5 | The XWiki project offers several solutions to help fight spam. These are especially useful when XWiki is used as a public site. | ||
| 6 | |||
| 7 | = Correct Permissions = | ||
| 8 | |||
| 9 | The first thing to do is to ensure you have not left comments open to anyone, since this will get you a lot of spam. | ||
| 10 | |||
| 11 | You should allow the Comment right only to registered users, or at least ask for Captcha for anonymous users (see below). | ||
| 12 | |||
| 13 | Here are some scripts to help you remove comment spam: | ||
| 14 | |||
| 15 | * [[snippets:Extension.Remove All Anonymous Comments]] | ||
| 16 | * [[snippets:Extension.Remove All Comments]] | ||
| 17 | |||
| 18 | = CAPTCHA = | ||
| 19 | |||
| 20 | You can enable [[Captchas>>https://en.wikipedia.org/wiki/CAPTCHA]] both on the [[registration screen>>extensions:Extension.Administration Application||anchor="HActivatingcaptchas"]] and for [[comments>>extensions:Extension.Administration Application||anchor="HRights"]]. | ||
| 21 | |||
| 22 | You can also use the [[XWiki Catpcha module>>extensions:Extension.Captcha Module]] if you need a tighter integration in your own wiki pages / wiki application. | ||
| 23 | |||
| 24 | = Notifications = | ||
| 25 | |||
| 26 | You can choose to be [[notified>>Documentation.UserGuide.Features.Notifications]] (even in real time) about changes done to your wiki, and thus be able to quickly revert spam. | ||
| 27 | |||
| 28 | = Delayed Indexing = | ||
| 29 | |||
| 30 | You can implement [[Delayed Indexing>>http://c2.com/cgi/wiki?DelayedIndexing]] to discourage spammers. It tells search engines not to index pages that were recently updated. On an active wiki, spam will be removed very quickly by community members. Once a page has not been edited for a while, you can assume the community approves of the page's content and thus is spam-free. | ||
| 31 | |||
| 32 | This can be achieved by editing the "HTTP META INFO" section of the [["Presentation" Administration section>>extensions:Extension.Administration Application||anchor="HHTTPMetaInfo"]]. For example, you could decide to wait 5 hours after a page has been created before allowing it to be indexed by using: | ||
| 33 | |||
| 34 | {{code}} | ||
| 35 | #if ($datetool.getDate().time - $doc.getCreationDate().time < 5*24*60*60*1000) | ||
| 36 | <meta name=“robots” content=“noindex,nofollow” /> | ||
| 37 | #end | ||
| 38 | {{/code}} | ||
| 39 | |||
| 40 | = AntiSpam Application = | ||
| 41 | |||
| 42 | Last but not least, you could install the [[AntiSpam Application>>extensions:Extension.AntiSpam Tool Application]], which provides 2 main features: | ||
| 43 | |||
| 44 | * Ability to prevent spam from being entered (by filtering on keywords) | ||
| 45 | * UI to easily remove spam content and all content entered by a given user | ||
| 46 | |||
| 47 | = Others = | ||
| 48 | |||
| 49 | * [[snippets:Extension.Delete Spam Users]] |