This page (revision-1) was last changed on 23-Apr-2022 17:05 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 1 added 33 lines
The SpamFilter is a JSPWiki filter that can be used to block questionable edits.
!Parameters
;__wordlist__: The name of the WikiPage on which the word list resides. Default is "SpamFilterWordList".
;__errorpage__: The name of the page to which the user is redirected, if the edit contains a matched word. On that page, the variable [[{$msg}] is available, telling the reason.
;__pagechangesinminute__: How many page changes are allowed per minute before the IP address is put on a temporary ban list. Default is 5 changes/minute.
;__bantime__: The length of the ban time. Default is "60" for 60 minutes.
!The word list
The SpamFilter looks at the [WikiVariable] called 'spamwords' on the ''wordlist'' page. This must contain a space-separated list of words not allowed in a page. In fact, each word is a full Perl5 regular expression, so you can do pretty complex matches as well.
Of course, it is a good idea to allow only trusted users to edit the ''wordlist'' page. Otherwise a spammer can remove the list...
!Example
Put the following in your filters.xml file (See [PageFilter Configuration] for more information):
{{{
<filter>
<class>com.ecyrd.jspwiki.filters.SpamFilter</class>
</filter>
}}}
to start the filter. Create a page called "SpamFilterWordList" and put the following on it:
{{{
[{SET spamwords='viagra money'}]
}}}
to prevent anyone from saving a page that contains either the word "viagra" or "money". In a bit more complicated example:
{{{
[{SET spamwords='[vV][iI][aA][gG][rR][aA]'}]
}}}
would block the words "viagra", "Viagra", "viAGra" and so on.