Hi devs,

We’ve suffered some spamming attacks on xwiki.org recently and we’ve put 
xwiki.org under cloudflare. This should prevent some attacks but it’s not 
enough and spam is still going through.

I’d like to propose creating a new xwiki-platform-spam module with an API 
module and a simple implementation using keyword blacklisting.

xwiki-platform-spam
  |_ xwiki-platform-spam-api
  |_ xwiki-platform-spam-simple

We could imagine adding an akismet implementation later on: 
xwiki-platform-spam-akismet

For the simple implementation, I’d like to be able to configure the keywords in 
xobjects to make it simple to update and have the community helping.

The API would be simple:

@Role
public interface SpamChecker
{
    /**
     * Checks if the passed content is considered spam or not.
     *
     * @param content the content to check
     * @param parameters a map of parameters that depends on the implementation 
used. For example this can include the
     *        IP address of the submitter of the content, its email address, 
the date of submission, etc
     * @return true if the content is considered spam or false otherwise
     */
    boolean isSpam(Reader content, Map<String, Object> parameters);
}


Then the idea would be to have an EventListener for page save and comment save 
and go through this API.

WDYT?

Thanks
-Vincent

_______________________________________________
devs mailing list
devs@xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to