Rules for Comments on my site

Date: 13th November 2008 at 6:00 pm | Filed under: blog | Author: Sam Burdge

1. Comments must be written in ENGLISH. Comments with Russian, Greek, Chinese or Japanese characters will automatically be flagged as spam. Comments in languages other than English will be deleted.

2. Read the other comments first to see if anyone has already asked the same question as you.

3. I may or may not reply depending on how busy I am. I apologise in advance for not being able to respond to all the enquiries I receive.

Leave a Comment

Automatic Email Address Protection PHP / JavaScript

Date: 27th October 2008 at 7:44 pm | Filed under: development, scripts | Author: Sam Burdge

It is important to protect email addresses on websites from being harvested by spambots.

"Email spambots collect e-mail addresses from the Internet in order to build mailing lists for sending unsolicited e-mail, also known as spam. Such spambots are web crawlers that can gather e-mail addresses from Web sites, newsgroups, special-interest group (SIG) postings, and chat-room conversations. Because e-mail addresses have a distinctive format, spambots are easy to write. A number of legislators in the U.S. are reported to be devising laws that would outlaw the spambot." – Wikipedia

This is my method for automatically detecting email addresses and replacing them with a javascript that will disguise them from spambots. The script works in two stages one in javascript and the other in php.

First the javascript function that outputs the mailto link:

function sb_email(user,site){
document.write('<a href=\"mailto:' + user + '@' + site + '\">');
document.write(user + '@' + site + '<\/a>');
}

The function has 2 parameters "user" and "site", which are the two parts of the email address either side of the "@". This function can be called like so:

sb_email('joe','bloggs.com');

The second part is the php functions that recognise email addresses and replace them with the javascript function to disguise them:

//function to output the js
function create_js ($matches){
$parts = explode ('@', substr ($matches[0], 1));
if(substr($parts[1],-1)=='.'){$parts[1]=substr($parts[1],0,-1); $parts[2]='.';}
$str = $matches[1].'<script language="JavaScript" type="text/javascript">';
$str .= 'sb_email("'.$parts[0].'", "'.$parts[1].'");';
$str .= '</script>'.$parts[2];
return $str;
}
$js_callback = "create_js ";
 
//function to recognise emails
function email_protect($text){
global $js_callback;
$replace = '/([> ])[A-Z0-9._-]+@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z.]{2,6}/i';
$output = preg_replace_callback($replace, $js_callback, $text);
return $output;
}

The email_protect php function can be called on any text string like so:

echo email_protect($text);

It will automatically replace any email addresses in the text with the javascript, therefore hiding them from spambots.

Leave a Comment

Fighting Spam

Date: 19th December 2007 at 12:32 am | Filed under: blog, wordpress | Author: Sam Burdge

I've been receiving a bit of spam on my blog lately :evil: obviously none of it gets through, but its still annoying having to delete it all. So, I have decided to take measures against it by implementing a few changes on my blog. I have installed the Captcha! plugin which now requires users to manually enter the text they see in the picture before their comment is submitted. I have also activated the Askimet plugin which flags comments as spam based on the askimet database.

Whilst looking at the different ways to fight spam I found this article: The Solution to Blog Spamming, which I found very useful.

Leave a Comment