Since I first released SpamFilter, I have added several new spam definitions to it without needing to touch the actual code. The most recent addition, however, did require me to update the code. Since I did that, I decided to go ahead and make another change to take advantage of new functionality in DataMgr 2.2 (on which SpamFilter 1.1 is dependent).
To use SpamFilter, download SpamFilter and DataMgr and use the following code to load DataMgr (assuming a datasource stored in the variable "mydsn"):
<cfset SpamFilter = CreateObject("component"" SpamFilter").init(DataMgr,true)>
The second argument indicates that SpamFilter should check back with the spam definitions on my site for updates when it is initialized.
This has also been improved to take advantage of functionality in DataMgr 2.2 so that existing spam definitions can be updated, instead of just being able to add new spam definitions as before (do make sure that if you are using SpamFilter 1.1 that you use it with DataMgr 2.2).
To check if a structure (usually a form is spam), use the following code:
<!--- Handle spam --->
<!--- Handle form submission --->
For more information, see the original entry on SpamFilter.
SpamFilter.cfc (now in beta) is open source and free for any use. Feel free to give it a try.