This module provides automated spam-reduction methods for web forms. Each method consists of a data type, a
check function, and sometimes an
enable function. To use a method, the
enable function (if it exists) must be used on the form itself, and then the
check function used on the results of the submission. See the documentation of each data type for examples.
The response for a failed check needs to depend on the form. Displaying a reasonably informative error message and refilling the form with Webapp::autoFill is probably the best way for some types of checks, whereas rejecting the submission entirely is best for others.
Automated spam-reduction techniques can only be successful for as long as spammers find it uneconomical to overcome them. This module aims to make this very uneconomical by providing a range of methods, and requiring you as a user of the module to do some customisation of each method - so a spambot that knows about one use of URLBlock might fail against another use, and might not know about Timer at all.
For this reason, you should only use as many of these protections as are necessary to stop spam - if everyone used all of them at once then it might become more economical for criminals to invest in bypassing them.
- Uncaptcha::Question - A question-based filter
- Uncaptcha::Timer - A time-based filter
- Uncaptcha::URLBlock - A URL-based filter
- Bool checkQuestion(Question q) - Check a Question
- Bool checkTimer(Timer timer) - Check a Timer
- Bool checkURLBlock(URLBlock block) - Check a URLBlock
- Void enableQuestion(ElementTree form,Question q) - Enable question checking
- Void enableTimer(ElementTree formpart,Timer timer) - Enable timer checking
- Bool qdecode(String enc) -