Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Assigning the return value of new by reference is deprecated in /home/public/wp-content/plugins/timezone.php on line 153

Warning: ob_start(): output handler 'ob_gzhandler' conflicts with 'zlib output compression' in /home/public/wp-includes/functions.php on line 336

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method YLSY_PermalinkRedirect::execute() should not be called statically in /home/public/wp-includes/plugin.php on line 123

Strict Standards: Non-static method YLSY_PermalinkRedirect::is_skip() should not be called statically in /home/public/wp-content/plugins/ylsy_permalink_redirect.php on line 42

Strict Standards: Non-static method YLSY_PermalinkRedirect::guess_permalink() should not be called statically in /home/public/wp-content/plugins/ylsy_permalink_redirect.php on line 45
Hide Your E-mail Address from Spammers with mangleEmail() - Scott’s Ramblings
Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method runPHP::DetermineAllEvaldPosts() should not be called statically in /home/public/wp-includes/plugin.php on line 123

Scott’s Ramblings

Scott Severance's Blog

Hide Your E-mail Address from Spammers with mangleEmail()

Filed under: Web Development, Javascript, Applications — Scott Severance at 5:08 pm on Friday, July 22, 2005

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method runPHP::EvalContent() should not be called statically in /home/public/wp-includes/plugin.php on line 48

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/formatting.php on line 76

I've written a Javascript function that transparently hides your e-mail address from spambots—provided that spambots don't execute Javascript. It doesn't impact the end user in most cases. (This is a cross-post from my website.)

The Code

You'll probably need to scroll horizontally in order to see long lines in their entirety. If so, a scroll bar will be at the bottom of the code block.

Javascript:

function mangleEmail() {
  if(!document.getElementsByTagName) return; //object detection
 
  //find out where we need to make replacements
  var mangleLocations = document.getElementsByTagName("span");
  var whichClass = "mangle-email"; //this class tells us where to add links
  var whichClassStrike = "mangle-email-strike"; //strikethrough class
 
  //e-mail address to mangle
  var part1 = '<a href="mai';
  var part2 = 'lto:';
  var part3 = 'username';
  var part4 = '@';
  var part5 = 'domain.com';
  var part6 = '">';
  var part7 = '</a>';
 
  //loop through all <span>s
  for(var i = 0; i <mangleLocations.length; i++) {
   
    //find struck text
    if(mangleLocations[i].className == whichClassStrike) {
      mangleLocations[i].className = whichClass;
      mangleLocations[i].title = "";
    }
   
    //add the link
    if(mangleLocations[i].className == whichClass) {
      var mailtoText = mangleLocations[i].innerHTML;
      mangleLocations[i].innerHTML = part1 + part2 + part3 + part4 + part5 + part6 + mailtoText + part7;
    }
  }
}

Explanation (or, Skip directly to usage instructions)

My method of explaning this function is shamelessly copied from quirksmode.org. I'll procede section-by-section, repeating the relevant section, then putting the explanation below it.

Javascript:

function mangleEmail() {
  if(!document.getElementsByTagName) return; //object detection

To begin with, we test to find out if the browser supports the key method. If it doesn't, the function ends, sparing us from Javascript error messages.

Javascript:

var mangleLocations = document.getElementsByTagName("span");
var whichClass = "mangle-email"; //this class tells us where to add links
var whichClassStrike = "mangle-email-strike"; //strikethrough class

//e-mail address to mangle
var part1 = '<a href="mai';
var part2 = 'lto:';
var part3 = 'username';
var part4 = '@';
var part5 = 'domain.com';
var part6 = '">';
var part7 = '</a>';

Now we set up our variables. mangleLocations is an array containing all <span> elements in the document. The next variables, whichClass and whichClassStrike contain the stylesheet classes that will tell us which <span>s to add links to.

Be sure to set part3 to your e-mail address username and part5 to your e-mail domain. The purpose for these variables is to break up your e-mail address so that spambots won't recognize it as such. Of course, this depends on the assumption that spambots don't use execute Javascript. I'm sure that they don't.

Javascript:

//loop through all <span>s
for(var i = 0; i <mangleLocations.length; i++) {

Here's where the action begins. We'll loop through our array of <span> elements and consider them one by one.

Javascript:

//find struck text
if(mangleLocations[i].className == whichClassStrike) {
  mangleLocations[i].className = whichClass;
  mangleLocations[i].title = "";
}

First, we check for the class that whichClassStrike refers to. This class contains formatting that non-Javascript users will see if you need to point out that the code isn't working. I use a strikethrough. Since we know that Javascript works if we've gotten this far, we need to cancel this formatting, so we change the class to the one that whichClass points to. This class, in my implementation, doesn't have any style rules attached to it.

<span> elements that match whichClassStrike might also have an optional explanation as a title attribute. We set title to an empty string to hide it.

Javascript:

//add the link
if(mangleLocations[i].className == whichClass) {
  var mailtoText = mangleLocations[i].innerHTML;
  mangleLocations[i].innerHTML = part1 + part2 + part3 + part4 + part5 + part6 + mailtoText + part7;
}

Now, we store the text contained by every <span class="mangle-email"> in a temporary variable and construct our link around it.

How to Use this Function

Preparation

Put mangleEmail() either in an external Javascript file or within <script></script> tags in the <head> section of your HTML file and call it onload. I do the following, at the top of my Javascript file:

Javascript:

window.onload = init;

function init() {
  mangleEmail();
  /*other functions to call onload go here*/
}

If you plan on using the strikethrough form, be sure to use some appropriate CSS code. I use:

CSS:

span.mangle-email-strike {
  text-decoration:line-through;
  cursor:help;
}

Simple Form

To use this script in its simplest form, simply enclose the text you want to be linked in <span class="mangle-email">. If your browser supports mangleEmail(), this sentence should be a link to my e-mail address; otherwise, it will show up as normal text. You might want to toggle Javascript on and off in your browser to observe the effect.

Strikethrough Form

There might occasionally be a situation where the user would likely be confused by a not having a link if the function doesn't work. For example, you might have a list of links, including using mangleEmail() to make a link labeled "E-mail me." The answer is to use <span class="mangle-email-strike" title="Tooltip explanation">. Here's an example: If your browser supports mangleEmail(), this sentence should be a link to my e-mail address (without a tooltip); otherwise, it will show up as struckthrough text with—in most browsers—a tooltip explaining the problem. Again, the best way to understand this is to toggle Javascript on and off and observe the effect.

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

 

Bad Behavior has blocked 222 access attempts in the last 7 days.