I’ve been looking at
Mollom, which purports to "Kill comment, contact form and registration form spam."
Basically, you send the content and the user’s ISP to Mollom’s server. They reply back whether the content is spam, ham (legitimate content), or unsure. With "unsure" they optionally present a captcha image (audio or image) which they claim often changes and is not de-codable (and they detect whether it’s been compromised and then change it).
I’m thinking about a Mollom class file based on their API, but I’d also like to see a plugin that could be routinely used by jot, eForm, SPForm, NewsPublisher, etc. (if it’s installed) that would use the Mollom class to test content. It’s tricky because of the back and forth communication between the snippet, plugin, and Molllom server, i.e. (just from the MODx side):
- Get me the server list (maybe)
- Connect to the server
- Evaluate this content
- Give me a captcha image
- Give me another captcha image (maybe)
- Give me an audio captcha (maybe)
- Was the response correct?
Drupal and several other CMS platforms have a Mollom plugin so it would be nice if we could be on that list.
Assuming that it’s even possible, I’m wondering what system event (or events) would be appropriate for this. We have OnUserFormSave and OnWUserFormSave, but I’m wondering if a more generic OnEvaluateContent or something similar might be in order. It could be used by other validating plugins as well (e.g. Akismet).
The plugin could use custom system event(s) (a la WLPE), but then every client would have to check for them and optionally create them on every access.
I’d appreciate hearing thoughts on this and on how best to approach the plugin.