E-posta adreslerini gizlemenin yolları

Web sitelerinde, özellikle iletişim sayfalarında e-posta adreslerini direkt olarak yazmak sakıncalıdır.

E-posta adreslerini gizlemenin yolları

Enteresan bir yazı geldi aklıma.

Web sitelerinde, özellikle iletişim sayfalarında e-posta adreslerini direkt olarak yazmak sakıncalıdır. Neden diye soracak olursanız, web sitelerini tarayan botlar, bu e-posta adreslerini çok kolaylıkla elde ederler. Sonrası malum, e-postamıza hergün gelen onlar ve onlarca gereksiz (spam) iletiler.

O zaman web sitelerinde e-posta adresimizi yayınlamanın farklı yollarını denemeliyiz. Amacımız, bu botların e-posta adresimizi kolaylıkla elde etmesinin önüne geçebilmek.

Önce, klasik olanı yazalım:

<a href="mailto:abc@xyz.com">abc@xyz.com</a>

Bunun en sakıncalı ve botlar için elde edilmesi en kolay yol olduğunu söylemiştim.

Şimdi değişik yolları beraber inceleyelim;

Yol 1: @ ve . yı değiştirmek

<a href="mailto:abc AT xyz NOKTA com">abc AT xyz NOKTA com</a>

Tek yaptığımız, @ yerine AT, . yerine de NOKTA yazmak. Siz daha da karmaşıklaştırabilirsiniz. @ yerine [*AT*], . yerine [*NOKTA*] gibi.

Yol 2: karakterler yerine unicode karşılıklarını yazmak

<a href="mailto:&#97;&#98;&#99;&#64;&#120;&#121;&#122;&#46;&#99;&#111;&#109;">e-posta adresimiz</a>

(Unicode çeviricisi için buraya ya da buraya tıklayabilirsiniz.)

Yol 3: karakterler yerine HEX karşılıklarını yazmak

<a href="mailto:"%61%62%63%40%78%79%7a%2e%63%6f%6d">e-posta adresimiz</a>

Bir öncekine benzer şekilde, bu sefer karakterlerin HEX karşılıklarını yazdık.

Yol 4: HTML yorumları eklemek

abc <!-- %&/ -->@<!-- %&/ -->xyz<!-- %&/ -->.<!-- %&/ -->com

Yol 5: Sahte adres kullanmak

<a href="mailto:abc@BUNUSILxyz.com">abc@BUNUSILxyz.com</a>

Yol 6:  Sayfa yönlendirmesi kullanmak

<a href="mailto:e-posta-adresi.aspx">e-posta adresimiz</a>

e-posta-adresi.aspx içerisine de:

Response.Redirect("mailto:abc@xyz.com", true);

Yol 7:  Javascript kullanmak

<script type="text/javascript">
<!--
var string1 = "abc";
var string2 = "@";
var string3 = "xyz.com";
var string4 = string1 + string2 + string3;
document.write("<a href=" + "mail" + "to:" + string1 + string2 + string3 + ">" + string4 + "</a>");
//-->
</script>

Yol 8:  Şifreleme/Şaşırtma tekniği (obfuscating)

<span class="_obsf" id="17d8910e9b75ab523e5c3a2fc09c1181"></span>
<script type="text/javascript" src="obsf.js"></script>

Javascript kodu içerisinde,  

class tanımlaması _obsf olan spanlerin id lerini elde ederiz, bu şifrelenmiş veriyi deşifre ederek spanin içerisine yazarız.

Yol 9: Resim kullanmak

bkz: http://dalt.in/contact

Facebook bir zamanlar bu tekniği kullanıyordu.

Yol 10: CSS kullanmak

p:after { content: "abc\40xyz.com"; }
<p>e-posta adresi:</p>

Yol 11: CSS kullanmak - 2

<style type="text/css">
span.codedirection { unicode-bidi:bidi-override; direction: rtl; }
</style>

<p><span class="codedirection">moc.zyx@cba</span></p>

Yol 12: CSS kullanmak - 3

<style type="text/css">
p span.hide { display:none; }
</style>

<p>abc@xyz<span class="hide">hicbirsey :)</span>.com</p>

Yol 13: Flash kullanmak

Basit bir swf oluştururuz. Yönlendirmeyi bu swf içerisinde yaparız. <object>..</object> arasında da bu swf yi tanımlarız.

Yol 14: CAPTCHA doğrulaması ile

Ekrana e-posta adresinin bir kısmını basarız (ya da hiç basmayız) doğrulamadan sonra e-posta adresinin tamamını basarız. :) 

Google bir ara kullanıyordu bu tekniği.

--- *** ---

Başka yollar da olabilir tabi. Ama bunlar işimizi görecektir sanıyorum.

Herkese kolay gelsin.