PHP ile Mail Adresi Gizleme
PHP ile mail adresi gizlemeyi öğreneceğiz. Mail botları tarafından elde edilen mail adresinize; bahis sitelerinden, +18 ürün satan sitelere kadar bir çok yerde reklam maili almaya başlayacaksınız. Bu gibi durumların önüne geçmek için aktif olarak kullanmış olduğunuz mail adresini her yerde açık açık paylaşmamak olacaktır.
Paylaşım yapacağınız mail adresi kendi yazılımınız yada internet sitenizde ise birkaç kod düzenlemesi ile yazmış olduğunuz adresin şifrelenmesini sağlayabilirsiniz.
PHP hide_email() ile Mail Adreslerini Gizleme
Hide_email() fonksiyonu, belirtmiş olduğunuz mail adresini javascript kodlarına çevirerek botların ulaşmasını engelleyecektir. Böylelikle aktif olarak ekranda görünen, tıklatıldığında mailto ile işlem yapan fakat kaynak kodlarında yer almayan bir mail adresini web sitenizde yayınlamış olacaksınız. Bu koruma ile mail adresinin botlar tarfından alınmasını engellemiş olup, spam reklam maillerinden kurtulacaksınız.
function hide_email($email) { $character_set = '+-.0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz'; $key = str_shuffle($character_set); $cipher_text = ''; $id = 'e'.rand(1,999999999); for ($i=0;$i<strlen($email);$i+=1) $cipher_text.= $key[strpos($character_set,$email[$i])]; $script = 'var a="'.$key.'";var b=a.split("").sort().join("");var c="'.$cipher_text.'";var d="";'; $script.= 'for(var e=0;e<c.length;e++)d+=b.charAt(a.indexOf(c.charAt(e)));'; $script.= 'document.getElementById("'.$id.'").innerHTML="<a href=\\"mailto:"+d+"\\">"+d+"</a>"'; $script = "eval(\"".str_replace(array("\\",'"'),array("\\\\",'\"'), $script)."\")"; $script = '<script type="text/javascript">/*<![CDATA[*/'.$script.'/*]]>*/</script>'; return '<span id="'.$id.'">[javascript protected email address]</span>'.$script; }
Yukarıda yer alan hide_email() fonksiyonu ile mail adresinizi javascript kodlarıyla gizleyebilirsiniz. Bu fonksiyon tek parametre almaktadır. Fonksiyonu kullanıp mail adresinizi yazmanız yeterli olacaktır.
<?php echo hide_email('test@test.com'); ?>
Yukarıda yer aldığı gibi hide_email() fonksiyonunu kullanabilirsiniz. Fonksiyona mail adresinizi girip sayfayı çalıştırdığınızda kaynak kod aşağıda yer aldığı gibi olacaktır.
<span id="e871128685">[javascript protected email address]</span><script type="text/javascript">/*<![CDATA[*/eval("var a=\"W1-Jq@Z68XbC7eciyhBTaA_V0jwtNv+SgFYrpDR2xIUonmksK4.Quf395GldLOEMHPz\";var b=a.split(\"\").sort().join(\"\");var c=\"LmdLeLmdL-o9f\";var d=\"\";for(var e=0;e<c.length;e++)d+=b.charAt(a.indexOf(c.charAt(e)));document.getElementById(\"e871128685\").innerHTML=\"<a href=\\\"mailto:\"+d+\"\\\">\"+d+\"</a>\"")/*]]>*/</script>
Görmüş olduğunuz gibi kaynak kodda hiçbir şekilde mail adresinizden bahsedilmemektedir. Böylelikle mail botlarının sayfanızda görünen mail adresine kaynak koddan erişimini engellemiş oluyorsunuz. Mail adresini gizlemek için kullanılan sistem http://www.maurits.vdschee.nl/php_hide_email/ sitesi tarafından sağlanmaktadır. Detaylı bilgi için ziyaret edebilirsiniz.
Yorumlar (0)