15 Days of jQuery(Day 4)---安全郵件列表
規則提到如何防止垃圾郵件:不要把你的郵件地址放到任何一個mailto:鏈接中. 在與垃圾郵件惡魔做斗爭的過程中我們的網頁設計師和程序員總結出了一些有創意的解決辦法,讓我們快速的看一些這些常見方法的缺點(或多或少有一些).
name [at-no-spam] website.com
問題:鏈接式的更方便,而且把郵件地址敲入收件人欄還有可能會出錯.
聯系方式
問題:你冒著這么大的風險就是因為有一個垃圾郵件借用你的帳戶發送大量的垃圾郵件(除非你使用真正的安全郵件腳本).而這樣就扼殺了那些只想給你發個簡單郵件的用戶.
javascript加密
問題:你的郵件仍然暴露在光天化日之下,即使你使用了復雜的密碼技術給它帶上面具.還有誰希望為了發送一封郵件而啟用第三方的解密網站,反正我是不會.
藏在一種簡單的形式后面 (有一個例子,但是打不開了.)http://simon.incutio.com/contact/我能想到的沒有人…但是讓我們看看是否我們能改進觀念。
可能的解決辦法:AJAX
我提供的解決方案將比目前設計師們使用的方法有如下優勢:
-
易于實施
-
易于修改
-
還有一些小小的花哨的效果
-
不用第三方工具來加密郵件地址
-
沒有郵件地址暴露在光天化日之下
最后我想說明一點,我認為電子郵件靠這種閃爍其詞的加密手段來躲避垃圾郵件還是非常不明智的.在實踐中,我認為電子郵件加密是相對安全的,但是客觀事實是,電子郵件還是在html原代碼里.
概念
-
1.用jQuery從服務器上把html文件內容抓下來.
-
2.把包含郵件鏈接的html文件放到好的容器中是一種簡單的保護機制.
示例
我要示范一些例子來顯示郵件鏈接地址,當訪客點擊一個按鈕或者一個鏈接的時候,頁面就會跳轉到對應的那個例子里.
(說明:所謂的立即顯示,我的意思是說”沒有花哨的效果而盡快的顯示電子郵件地址”)
代碼
這里發表非商業共創使用許可,如果你希望將代碼使用在你的商業產品中時,請聯系我.我正在一個新的CMS for web designers中使用它.
為什么這種方式比普通的mailto鏈接安全?
真正的問題是垃圾郵件制造者會使用自動化軟件從html源文件中尋找電子郵件鏈接,這種做法和google一樣:使用相關鏈接. 他么就和我們大部分人一樣懶惰.所以很難所他們不會拿個本子放在鍵盤旁邊記下你的電子郵件地址. 請查看我提供的示例的源代碼,你將不會在html里找到任何的郵件地址. 這幾堅實的保證了你絕對不會收到垃圾郵件,只會從朋友或者瀏覽者那里收到郵件. 但是從頁面中移除郵件地址,…………………
最后一點說明
先仔細看看前面三個例子,你會看到我使用了AJAX回調函數來觸發slideDown() 和 show() 效果. 換句話說,我希望AJAX調用收到信息(html)時jQuery才開始slideDown() 效果.把秘密粘貼到我們簡單的服務段腳本并且等待服務器返回信息.
正確的方法:
$(document).ready(function(){ $.post('mailtoInfo.php',{ pass: "secret" },function(txt){ $('div.email').html(txt); $('div.email').slideDown("slow"); }); });
錯誤的方法:
$(document).ready(function(){ $.post('mailtoInfo.php',{ pass: "secret" },function(txt){ $('div.email').html(txt); }); $('div.email').slideDown("slow"); });