2010-09-07 63 views
2

我需要一個url混淆器,蜘蛛不應該提取我的鏈接,如safe_mailto在codeiginitor中...是否有可能使用PHP,如果是這樣的話,請給出一個例子。在php中的url混淆器

+9

如何不先模糊問題? – Gordon 2010-09-07 12:21:16

+5

我必須問,你爲什麼要這麼做?你想讓它更安全嗎?通過默默無聞的安全性是沒有安全的... – ircmaxell 2010-09-07 12:21:42

+1

可能的重複[混淆網站上的電子郵件地址的最佳方式?](http://stackoverflow.com/questions/748780/best-way-to-obfuscate -an-e-mail-address-on-a-site) – Gordon 2010-09-07 12:32:07

回答

1
$link = 'mailto:[email protected]'; 
$obfuscatedLink = ""; 
for ($i=0; $i<strlen($link); $i++){ 
    $obfuscatedLink .= "&#" . ord($link[$i]) . ";"; 
} 

由於ircmaxell評論說,這是一種非常原始的困惑,真的不會阻止垃圾郵件發送者很多。

2

構建一個腳本標記,將電子郵件從較小的String.fromCharCode調用中連接出來,也許與@Dominic建議的html實體組合在一起,您可以使用各種方法使其更復雜。關鍵是要阻止大多數電子郵件抓取者發現它。

它會阻止他們嗎?不完全。垃圾郵件機器人日復一日地變得更加智能,並且需要5分鐘的時間來模擬您的算法,以便從輸出中重建電子郵件。正如@ircmaxell所說:「通過隱晦的安全性根本就沒有安全性」。

任何好的方法?:是的!將所有電子郵件放在數據庫表中,使用ID(如果它們尚未以這種方式存儲),則用戶將點擊類似reveal.php?email=1564,該頁面將顯示recaptcha或任何其他好的驗證碼,如果有效,它會會向他們顯示電子郵件。