2013-10-23 47 views
2

在codeigniter中有一種方法可以讓電子郵件鏈接無法被機器人讀取嗎?如果沒有人推薦一個體面的簡單解決方案?Codeigniter - 讓機器人無法讀取電子郵件

+0

使用一個輔助函數使用HTML編碼charaters在電子郵件地址charaters。 – Nishanthan

+0

哪個幫手是?無法在電子郵件幫手中看到它 – Zabs

+0

不,我建議擴展電子郵件幫手,並添加此功能以將正常字符更改爲html編碼字符。 – Nishanthan

回答

2

哎呀..

笨具有功能safe_mailto()的URL幫手

0

這裏可能沒有任何完美的解決方案,特別是如果你不想給用戶帶來不便的話。

一個簡單的方法(可以結合ajreal提到的谷歌評論),將是使用實體編碼混淆他們的來源。這將阻止簡單的機器人。

看到這裏的一些細節:http://www.wbwip.com/wbw/emailencoder.html

0

CI有在URL助手類safe_mailto()方法混淆HTML源代碼中的電子郵件地址,而不會影響最終用戶。

https://codeigniter.com/userguide3/helpers/url_helper.html#safe_mailto

示例模板代碼:

<p>My e-mail address is <?php $this->load->helper('url'); echo safe_mailto('[email protected]'); ?>.</p> 

例HTML輸出:

<p>My e-mail address is <script type="text/javascript"> 
//<![CDATA[ 
var l=new Array(); 
l[0] = '>'; 
l[1] = 'a'; 
l[2] = '/'; 
l[3] = '<'; 
l[4] = '|109'; 
l[5] = '|111'; 
l[6] = '|99'; 
l[7] = '|46'; 
l[8] = '|108'; 
l[9] = '|105'; 
l[10] = '|97'; 
l[11] = '|109'; 
l[12] = '|103'; 
l[13] = '|64'; 
l[14] = '|99'; 
l[15] = '|98'; 
l[16] = '|97'; 
l[17] = '>'; 
l[18] = '"'; 
l[19] = '|109'; 
l[20] = '|111'; 
l[21] = '|99'; 
l[22] = '|46'; 
l[23] = '|108'; 
l[24] = '|105'; 
l[25] = '|97'; 
l[26] = '|109'; 
l[27] = '|103'; 
l[28] = '|64'; 
l[29] = '|99'; 
l[30] = '|98'; 
l[31] = '|97'; 
l[32] = ':'; 
l[33] = 'o'; 
l[34] = 't'; 
l[35] = 'l'; 
l[36] = 'i'; 
l[37] = 'a'; 
l[38] = 'm'; 
l[39] = '"'; 
l[40] = '='; 
l[41] = 'f'; 
l[42] = 'e'; 
l[43] = 'r'; 
l[44] = 'h'; 
l[45] = ' '; 
l[46] = 'a'; 
l[47] = '<'; 

for (var i = l.length-1; i >= 0; i=i-1) { 
    if (l[i].substring(0, 1) === '|') document.write("&#"+unescape(l[i].substring(1))+";"); 
    else document.write(unescape(l[i])); 
} 
//]]> 
</script>.</p> 
相關問題