Email 混淆
聽起來很複雜,實際上很簡單,同樣先講目的,再講實作。
目的就是避免你的 email 被拿去做壞事、被灌詐騙、被塞滿垃圾信件,非常單純的原因,而且不要覺得不會遇到,實際上就是很多人都有這個問題網路上才有這麼多篇討論。
實作也很簡單,由於掃信箱和詐騙一樣都是講 KPI 的,這些信箱抓取工具通常只管你的靜態 HTML,不會帶著 JS 來解析你的網站,因此不需要真的刻一個高級的密碼學設計的保護,你只需要簡單的 JS 混淆就能避免絕大多數攻擊,原因也很簡單,惡意攻擊是自動化的,不會有人手動來拆你的混淆方式。
如果你想看高級的實作,可以看 Adding simple email address obfuscation for your blog like Cloudflare Scrape Shield;如果你想看已經經過多年實驗的不同方案測試,可以看 Email address obfuscation: What works in 2026?。
實際上,只要 base64 在 server side 構建出 static 的 base64 email 編碼,放到 data 屬性裡面,再用 client side JS 找到目標後解碼、替換文字就簡單完成最基礎的混淆了。
當然 base64 是超級君子防護,只能防最低階的自動化爬蟲,任何一個 AI 都能破解,隨著你的網站變大、你是更知名的人物,你當然需要更強的混淆方案,方法在前面兩個連結也都提供了。
而 Hugo 只有 base64 和 hex 兩種編碼,沒有 bitwise op,因此 Hugo 網站只能用最低階的防護,除非你在設定檔裡面一開始就寫好經過混淆過後的 email 字串,才能繞過 Hugo 的限制。