E-Mail Link Obfuscation
The Art of Anti-Spam HTML Coding
(courtesy of GurusInc.com)
The following are codes that are helpful in foiling harvesters, used by spammers to get email addresses, where email addresses are placed in a web page. In the first column is the actual letter or number. In the second column is the visual replacement code and in the third column is the html replacement code.
Here is how you might use it:
Assume the email address is Joe@aa2zz.com
Using the table below, the html would be coded as follows:
<a href="mailto:%4a%6f%65%40%61%61%32%7a%7a%2e%63%6f%6d">
Joe@aa2zz.com</a>
Here's what it looks like when inserted into the html of this page:
You will notice that the text is now visible, but if you place your cursor over the link, the link info, in the status ,bar still looks garbled. Even so, when you click on it and your email client opens, the address should be displayed correctly, in the "To:" field. Personally, just in case the spammers use a more sophisticated harvester, I use a mixture of actual characters and codes, in both the visual and html portions of the link code.
Spammers may some day create harvesting programs that will defeat this. It's not that hard. But, they already harvest more email addresses than they can possible use and the people who have gone to the trouble of obfuscating their email addreses are much more likely to have strong anti-spam software that will block their spam, anyway. Some spam services actually advertise that their lists are composed primarily of addresses that are not likely to have anti-spam filters. For the same reason that thieves tend to avoid homes and cars that have alarms, spammers have no reason to want the email address of someone who is likely to have a good spam filter, when there are so many other easy marks out there.
Here is the list. I'm pretty sure that there are no typos. If there are, it should become obvious what the code should be.
Actual Character |
Visual Replacement |
HTML Replacement |
| . | . | %2E |
| 0 | 0 | %30 |
| 1 | 1 | %31 |
| 2 | 2 | %32 |
| 3 | 3 | %33 |
| 4 | 4 | %34 |
| 5 | 5 | %35 |
| 6 | 6 | %36 |
| 7 | 7 | %37 |
| 8 | 8 | %38 |
| 9 | 9 | %39 |
| : | : | (none) |
| ; | ; | (none) |
| < | < | (none) |
| = | = | (none) |
| > | > | (none) |
| ? | ? | (none) |
| @ | @ | %40 |
| A | A | %41 |
| B | B | %42 |
| C | C | %43 |
| D | D | %44 |
| E | E | %45 |
| F | F | %46 |
| G | G | %47 |
| H | H | %48 |
| I | I | %49 |
| J | J | %4A |
| K | K | %4B |
| L | L | %4C |
| M | M | %4D |
| N | N | %4E |
| O | O | %4F |
| P | P | %50 |
| Q | Q | %51 |
| R | R | %52 |
| S | S | %53 |
| T | T | %54 |
| U | U | %55 |
| V | V | %56 |
| W | W | %57 |
| X | X | %58 |
| Y | Y | %59 |
| Z | Z | %5A |
| [ | [ | (none) |
| \ | \ | (none) |
| ] | ] | (none) |
| ^ | ^ | (none) |
| _ | _ | %5f |
| back tic | ` | %60 |
| a | a | %61 |
| b | b | %62 |
| c | c | %63 |
| d | d | %64 |
| e | e | %65 |
| f | f | %66 |
| g | g | %67 |
| h | h | %68 |
| i | i | %69 |
| j | j | %6a |
| k | k | %6b |
| l | l | %6c |
| m | m | %6d |
| n | n | %6e |
| o | o | %6f |
| p | p | %70 |
| q | q | %71 |
| r | r | %72 |
| s | s | %73 |
| t | t | %74 |
| u | u | %75 |
| v | v | %76 |
| w | w | %77 |
| x | x | %78 |
| y | y | %79 |
| z | z | %7a |
Copyright 2004 GurusInc.com