Movable Type improved spam protection plug-in
Current release: 
Last updated: 

better_spam_protect is a plug-in for the Movable Type weblogging system.

This plugin has been tested on Movable Type version 3.2. It is not compatible with Movable Type version 4.0.

Movable Type weblog entry and comment authors often link their name to their their email address. Movable Type has a spam_protect feature to protect these addresses against harvesting by spam spiders. This feature, unfortunately, is not effective.

This plug-in upgrades the spam protection. Email addresses no longer appear as HTML text, but instead are produced by Javascript, thus making them less prone to harvesting. Users without Javascript (and—hopefully—spam harvesters) will see the name, but not the email address.

The plug-in is easy to install. Simply copy the file to the plugins subdirectory. The improved spam protection is activated as soon as that file is in place. A full site rebuild should be performed to apply the upgraded spam protection to older entries.

Here is what the plug-in does:

  1. The primary function is to upgrade the <$MTEntryAuthorLink$>, <$MTCommentAuthorLink$>, and <$MTCommentPreviewAuthorLink$> template tags to provide stronger anti-spam protections on email addresses.
  2. Email address spam protection becomes the default on these tags. Use spam_protect="0" to disable spam protection. (Without the plug-in, spam_protect="1" is required to enable spam protection.)
  3. The semantics of <$MTEntryAuthorLink$> change slightly. If the author has defined a nickname in their profile it is displayed here. Otherwise their username is displayed. (Without the plugin, nickname is ignored and username always is displayed.)
  4. A new template tag <$MTEmailLink [name="..."] address="..." $> is created. This tag inserts a spam-protected mailto: link into the document. The address= parameter is required; it specifies an email address. The name= parameter is optional. It specifies the text of the hyperlink. If omitted, the email address is used.
  5. The following template tags are not changed by this plug-in: <$MTEntryAuthorEmail$>, <$MTCommentEmail$>, and <$MTCommentPreviewEmail$>. The addresses produced by these tags remain vulnerable to harvesting. You could, however, use the new <$MTEmailLink$> template tag to protect them.
AttachmentSize KB KB KB
Release history: 

Version 1.4 (03-Jun-2004) - Fixed problem where the "spam_protect" setting was not defaulting correctly for the newly created tags.

Version 1.3 (05-May-2004) - Force sanitize off for the address link. It was breaking the javascript encoder.

Version 1.2 (30-Apr-2004) - Changed <$MTCommentAuthorLink$> hander to pass off to default routine if not doing email encoding. This should preserve behavior such as the ugly link redirection stuff added in 2.66.

Version 1.1 (29-Apr-2004) - Initial public release.