It's very simple. You can protect your email address with only HTML & CSS. You don't need to know about PHP or Java script. Try below code.
Simple HTML and CSS code:
<!doctype html>
<html>
<head>
<title>Protect e-mail with only css</title>
<style type="text/css">
.e-mail:before {
content: attr(data-website) "\0040" attr(data-user);
unicode-bidi: bidi-override;
direction: rtl;
}
</style>
</head>
<body>
<span class="e-mail" data-user="nohj" data-website="moc.liamg"></span>
</body>
</html>
Output of above code:
[email protected]
Please note:
Here I'm just used two extra attributes.
1) data-user
write your e-mail id user name in reverse.
2) data-website
write your e-mail id website in reverse.
Try this code:
.e-mail:before {
content: "\006a\0068\006f\006e\0040\0067\006d\0061\0069\006c\002e\0063\006f\006d";
}
<span class="e-mail"></span>
This is just the email encoded in hexadecimal.
One of the simple and effecting ways of embedding emails in html is by using hex values! for example hex value for [email protected] is:
%6A%6F%68%6E%40%73%6D%69%74%68%2E%6D%65
and you can use the following tag in your HTML Code
<a href="mailto:%6A%6F%68%6E%40%73%6D%69%74%68%2E%6D%65">email me</a>
This is a really simple and effective way of embedding email in a webpage.
you have hided the "maito:" and the email in this way.
you can use this tool to generate the %64 hex code
you can also use this tool to generate the hex code
As you likely know: Obfuscation techniques can't be foolproof and harvester bots will continue to improve. There are a number of arguments against obfuscation.
That being said, here are some additional techniques to the rather interesting ones you already mentioned.
HTML techniques:
Using html comment signs or substituting html entities has some years ago already been shown to be a pretty weak approach.
Using an image instead of text is a pain for most users, including the non-visually impaired as they can't cut and paste. It works well though.
One interesting pure HTML approach that allows for using a hyperlink was suggested a while back.
<a href="mailto:[email protected]?subject=EMAIL ADDRESS NEEDS EDITING&body=Please remove the text 'notspam' from the address before sending your email.">Email me.</a>
CSS techniques: These are of course not fool proof either. Besides what you've mentioned already:
Using CSS display:none is also useful. Bots that simply strip out style tags will include the hidden text in the harvested address.
jhon<span style="display:none">-anti-bot-bit</span>@gmail.com.
A web icon font could be used to pull in an @ icon and it's possible to do this in a way that won't trip up screen readers. I've not seen a web icon font with an @ icon for obvious reasons, but this would work.
Update: Font Awesome now has an @ icon. Maybe someone suggested it after seeing this post ;-).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With