如何防止通過電子郵件蜘蛛從網頁收集的電子郵件?連接它們的mailto:
是否會增加它們被拾取的可能性? URL編碼有用嗎?保護垃圾郵件機器人/網絡爬蟲的電子郵件地址
顯然,最好的應對措施是,只顯示電子郵件地址登錄的用戶,或者提供一個接觸的形式,而不是電子郵件地址。但就純粹的客戶端解決方案而言,有哪些可用的解決方案?
如何防止通過電子郵件蜘蛛從網頁收集的電子郵件?連接它們的mailto:
是否會增加它們被拾取的可能性? URL編碼有用嗎?保護垃圾郵件機器人/網絡爬蟲的電子郵件地址
顯然,最好的應對措施是,只顯示電子郵件地址登錄的用戶,或者提供一個接觸的形式,而不是電子郵件地址。但就純粹的客戶端解決方案而言,有哪些可用的解決方案?
多年以後,我創建了下面的jQuery爲不同的網站:
$(".email").each(function() {
$(this).html($(this).html().replace("...", "@").replace(/\.\.\./g, "."));
$(this).attr("href", $(this).attr("href").replace("...", "@").replace(/\.\.\./g, "."));
});
電子郵件,然後寫成:
<a href="mailto:bob.smith...example...com" class="email">bob.smith...example...com</a>
它並不完美,但它非常簡單,似乎阻撓了大多數電子郵件收割機。這種方法的好處是不使用JavaScript的人可能會弄清楚實際的電子郵件地址是什麼。
我傾向於避免mailto
,因爲它使得它太容易讓人們收穫的電子郵件地址。
如果你要對你的網站的網頁接觸,然後只是有一個形式,當他們提交你的服務器端代碼,並使用適當的電子郵件地址。
如果你需要能夠有可用的其他人的地址,使用號碼,姓名,用戶名,一些方法來識別它們。
如果你只是有一個跨度很可能被拾起,即使你試着隱藏它,因爲這些程序可能會非常複雜,如發現電子郵件地址的電子郵件地址是他們是什麼。
與大多數的祕密,如果你不希望別人得到他們,不要把他們的網頁上。
電子郵件在頁面上,在''s。除了刪除電子郵件地址,有什麼我可以減少他們被電子郵件蜘蛛拾取的可能性嗎? – Zaz 2010-09-08 01:38:07
大多數電子郵件蜘蛛沒有JavaScript解釋器,所以如果你真的需要mailto:
你可以用JavaScript注入...只是確保該地址在JavaScript模糊不知何故,例如
myLink.href='mai'+'lto:'+'bob'
+'@'
+'example.com';
如果您需要在頁面上顯示的電子郵件地址,通常的解決辦法是生成使用類似PHP的GD圖像(雖然JavaScript注入應努力確定這太)。
這個想法是從HTML中刪除電子郵件地址,並用javascript注入它們。這樣,電子郵件地址就不會以任何HTTP流量的形式出現,這正是蜘蛛所看到的。
謝謝,這是一個非常聰明的方式。 – Zaz 2010-09-08 01:47:42
然後,你必須要求javascript使用此頁面,這可以減少你的用戶。 – 2010-09-08 14:26:13
我通常會將它們分成不同的部分,然後使用javascript重新組合它們。最終的javascript做一個document.write寫出html。
即
var mail = "mailto";
var namepart = "test.user";
var domainpart = "example";
var tld = "com";
var address = namepart + "@" + domainpart + "." + tld;
document.write("<a href=" + mail + ":" + address + '">' + address + "</a>";
對於解決方案部分,請看一下:http:// stackoverflow。com/questions/308772/what-are-some-ways-to-protect-emails-on-websites-from-spambots – 2010-09-08 01:24:35
我不確定電子郵件混淆是否是一個很好的解決方案(如上面@yi的評論中提供的那樣。但@詹姆斯布萊克正確地使用電子郵件形式,並使用服務器端代碼來處理郵件。 – 2010-09-08 01:28:14