2013-08-05 26 views
4


我正在嘗試將我的電子郵件地址添加到我的主頁,以便垃圾郵件機器人無法看到它。在某處計算器我找到了解決辦法寫地址反向:垃圾郵件機器人可以觸發mouseenter或懸停事件嗎?

<span class="reverse">[email protected]</span> 
<style> 
.reverse { 
    direction: rtl; 
    unicode-bidi: bidi-override; 
} 
</style> 

但是,這樣用戶仍然可以用一個mailto鏈接我有下面的代碼交互:

<a href="[email protected]:otliam" class="reverse"><i class="icon-envelope"></i></a> 
<script> 
    $('body').on('mouseenter', '.reverse', function() { 
     $(this).attr('href', $(this).attr('href').split('').reverse().join('')); 
    }); 
    $('body').on('mouseleave', '.reverse', function() { 
     $(this).attr('href', $(this).attr('href').split('').reverse().join('')); 
    }); 
</script> 

這是一個安全的方法來隱藏您的電子郵件地址垃圾郵件機器人還是觸發mouseenter事件?

+1

他正在隱藏它......他扭轉了郵件地址,他們無法讀取反向郵件地址。 –

+0

是的,公正評論@Johan,將收回我的評論 – freefaller

回答

2

觸發事件以獲取電子郵件地址的「通用」spambot必須將頁面提供給基本上是無頭瀏覽器,以某種方式確定可能是JS混淆的電子郵件內容,然後盲目嘗試模擬用戶交互反混淆有趣的數據。

這是一項巨大的工作,可能沒有任何好處,也沒有垃圾郵件發送者會考慮這樣做。

他們做什麼,而不是他們是否是真的感興趣的收穫你的網站是弄清楚如何保護您的作品(嘿,它只是寫在反向),只是特殊情況下,垃圾郵件機器人手動解密數據。

這種保護方案應該足夠綽綽有餘,只要你太小而不值得定位,但缺點是不使用JavaScript的網站訪問者將會很難。

+0

謝謝,很好的答案。我只是試圖隱藏我的電子垃圾郵件,因爲我的網站只顯示一個電子郵件地址。所以編寫一個特殊的垃圾郵件機器人將不會有利可圖;) –

0

垃圾郵件機器人通常只會讀取頁面標記並查找符合特定模式的電子郵件鏈接或電子郵件地址。所以你的方法可能會拋棄其中的大部分 - 那些將(不正確)看到[email protected]作爲電子郵件地址。

但是,正如抓取工具知道電子郵件鏈接以mailto:開頭,它也可能知道反向電子郵件鏈接以:otliam結尾。如果抓取工具的創建者發現了反轉電子郵件地址的建議(如您所做的那樣),他們只會修改bot以處理反向地址。

最好的保護措施是良好的電子郵件垃圾郵件檢測,或使用Captcha或類似的HTML表單。

+0

肯定不難倒過來,但有多少spambot編寫者會花時間去做這些事情? – VoronoiPotato

+0

如果我編寫垃圾郵件機器人,我會這樣 - 就像你說的那樣,它不是很難,並且需要不到5分鐘。如果這意味着我收到一些額外的電子郵件地址,那麼值得去做。 – greg84

+0

那麼,我可以通過用@替換一個特殊字符來優化方法。 –