Announcing Caesarmail for WordPress
This is my first public WordPress plugin: Caesarmail. It's yet another email obfuscation plugin, but instead of using ASCII or hex code substitutions, it uses random-offset Caesar ciphers. When Caesarmail sees an email link that looks like this:
<a href=" mailto:someone@somewhere.com">email me</a>
it converts it into something that looks like this:
<a href="javascript:degrease('BxvnxwneBxvnFqnAnflxv',9)">email me</a>
The offset is randomly generated with each page view; consequently, the degrease() link is never (or rarely) the same twice.
Caesarmail can be downloaded from here.
To use Caesarmail, simply:
- Download and unpack the archive.
- Upload the entire Caesarmail folder to your WordPress plugin directory (usually http://yourblog/wp-content/plugins/).
- Go to the plugin management page for your WordPress installation – find "Caesarmail" and click "Activate."
To use Caesarmail, all you have to do is include a mailto: link in posts or comments. Caesarmail will automatically convert them for you.
You can test Caesarmail by commenting on this post with a mailto: link, or by mousing over and clicking this link (you can also contact me through that link, obviously).
This is my first plugin, and comments/criticisms/suggestions are more than welcome.
March 15th, 2006 at 4:08 pm
Does it works on email addresses on sidebar?
March 15th, 2006 at 5:15 pm
Not at the moment – I’ll investigate and see if I can get it easily working for the sidebar.
March 15th, 2006 at 5:35 pm
It appears that you can use caesarmail in the sidebar, but it’s not automatic. You need to call the function directly, like so:
<?php
$string = caesarmail('<a href=" mailto:email@address.com">email link</a>');
echo $string;
?>
(Without the space in the mailto: link – I had to add it because caesarmail is encrypting it.)
The function caesarmail() only takes one argument – the string of text which is to be searched and converted into encrypted email addresses. So if, for example, you wanted to do a list of email addresses, you could do this:
<?php
$list = '<ul>
<li> <a href=" mailto:someone@somewhere.com" rel="nofollow">My work address</a>
<li> <a href=" mailto:somewhere@else.com">My home address</a>
</ul>';
$string = caesarmail($list);
echo $string;
?>
That should work. Let me know if it works out for you.
March 15th, 2006 at 6:46 pm
Thanks!
I’ll put it in my blog to test it.
September 23rd, 2006 at 1:06 pm
[...] In order to protect email addresses from being harvested, I have added the Caesarmail plugin, which dynamically converts all email addresses using “random-offset Caesar ciphers". This prevents spambots from collecting usable email addresses from pages/comments. Spammers aren’t likely to take the time to decipher encrypted email addresses. [...]
September 26th, 2006 at 4:45 pm
Thats fantastic! Should help cut down on the spam we’ve all been getting!
December 29th, 2006 at 12:22 pm
Does it have a way to implement a noscript tag?