網站表單防垃圾與機器人指南:驗證碼、隱藏欄位與頻率限制怎麼搭配
打開公司信箱,聯絡表單又寄來一整排看不懂的訊息:外文廣告、可疑連結、一串亂碼,還有幾封推銷網站排名服務的制式文字。真正的客戶詢問夾在中間,一不小心就被一起刪掉。網站表單防垃圾與機器人,是很多業主在網站上線一段時間後才發現必須面對的問題。
垃圾表單不只是煩,它會消耗客服時間、讓真正的商機被漏看,嚴重時還會讓公司信箱被郵件服務商判定為異常,連正常信件都寄不出去。但反過來,防護做得太嚴,又可能把真正的客戶擋在門外。
以下說明垃圾表單從哪裡來、驗證碼的取捨、隱藏欄位與頻率限制等低干擾做法、信箱驗證的時機、垃圾訊息對客服的實際影響,以及如何在擋機器人的同時兼顧無障礙與轉換率。
垃圾表單從哪裡來
先了解對手,才知道要用什麼方法。網站表單收到的垃圾大致分成三類:
- 自動程式:在網路上大量搜尋表單,自動填入廣告內容或惡意連結後送出。這是數量最大的一類,特徵是速度快、內容重複、常常每個欄位都填滿。
- 真人手動推銷:有人實際打開你的網站,在表單上填寫推銷訊息。這類訊息語句通順,能通過大部分機器人檢查。
- 惡意測試:嘗試在欄位中輸入特殊字元或程式碼,測試網站有沒有漏洞,或利用表單的自動回覆功能轉寄垃圾信給第三方。
第三類特別值得注意。如果表單會自動寄一封「感謝您的來信」給填寫者填的信箱,有心人就能填入別人的信箱,讓你的網站變成寄垃圾信的跳板,進而影響公司網域的寄信信譽。這也是為什麼表單防護和網站資安基礎是同一件事的兩面。
驗證碼的取捨
談到擋機器人,多數人第一個想到驗證碼。驗證碼確實有效,但它是有代價的。
常見的驗證碼類型
- 文字或圖片辨識:要求輸入扭曲的文字、點選特定圖片。對機器人有一定阻擋力,但對真人也很煩,在手機上尤其難操作。
- 勾選式:只需要勾一下「我不是機器人」,背後依據行為判斷,必要時才跳出圖片題。
- 無感式:完全不打擾使用者,由服務在背後評估行為風險,只有可疑時才要求進一步驗證。
驗證碼的代價
- 降低填寫意願:每多一道關卡,就有人在最後一步放棄。表單通常是商機的入口,這裡的流失最可惜。
- 無障礙問題:視障者使用螢幕閱讀器時,圖片類驗證碼可能完全無法完成;部分音訊替代方案也不容易使用。
- 隱私考量:部分第三方驗證服務會蒐集使用者行為資料,網站的隱私權政策需要配合說明。
- 擋不住真人:真人手動推銷完全可以通過驗證碼。
所以實務上的建議是:驗證碼不該是第一道防線,而是最後一道。先用使用者感覺不到的方法擋掉大部分自動程式,只在風險較高的情況才讓驗證碼出場。
低干擾的防護:使用者感覺不到的那幾層
下面這些做法,一般使用者完全不會察覺,卻能擋下大量自動程式。
隱藏欄位(蜜罐)
在表單裡放一個真人看不到的欄位。正常使用者不會填它,但自動程式常會把所有欄位都填滿。只要這個欄位有值,就判定為機器人。
要注意的是,隱藏方式必須讓螢幕閱讀器與鍵盤操作也會跳過這個欄位,並且關閉瀏覽器自動填入,否則可能誤擋使用輔助工具或自動填入的真人。
填寫時間檢查
真人填完一份表單需要一些時間,自動程式往往在頁面載入後瞬間送出。記錄表單開啟到送出的時間,過短就判定可疑。
頻率限制
限制同一來源在一段時間內能送出的次數。這能擋下大量重複送出,也能降低有人惡意灌爆信箱的風險。設定時要考慮公司行號或學校等共用網路的情況,門檻不要設得太低。
後端驗證一定要做
上面所有檢查,都必須在伺服器端再確認一次。只在網頁畫面上做的檢查,有心人可以直接繞過畫面把資料送到伺服器。這是許多表單「明明有防護卻還是被灌」的主因。
內容過濾
針對真人推銷類訊息,可以依據內容特徵處理:例如訊息含有多個外部連結、包含特定關鍵字、或全篇為與業務無關的語言。被判定為可疑的訊息不一定要直接丟掉,可以分流到另一個資料夾,由人定期抽看,避免誤刪。
信箱驗證:什麼時候需要
信箱驗證是指寄一封確認信,要求填寫者點擊連結後才算完成。它能確認信箱真實有效,但也多了一個步驟。
適合使用的情況:
- 會員註冊、電子報訂閱:日後要持續寄信,必須確認信箱真實,也能避免被人冒用別人的信箱訂閱。
- 會觸發後續動作的表單:例如申請試用帳號、預約後要寄送確認資料。
不適合使用的情況:
- 一般聯絡表單、詢價表單:客戶只是想問問題,要求他先去收信點連結,多數人會覺得麻煩。這類表單用前面的低干擾方法處理即可。
另外,自動回覆信的內容應該盡量精簡、不要原封不動帶入使用者填寫的訊息內容,以免被利用來轉寄垃圾內容。
垃圾訊息對客服的實際影響
很多業主把垃圾表單當成「刪一刪就好」的小事,但它的影響比想像中廣:
- 真正的詢問被漏看:垃圾多到一定程度,處理的人會開始快速掃過甚至批次刪除,真正的客戶就夾在裡面被誤刪。
- 回覆變慢:客服要先花時間分辨真假,真正的客戶等待時間被拉長,可能轉頭去找別家。
- 統計失真:如果用表單數量評估行銷成效,垃圾訊息會讓數字虛胖,造成錯誤判斷。
- 寄信信譽受損:表單被濫用來寄信時,公司網域可能被列入可疑名單,連業務的正常往來信件都可能進到對方的垃圾信匣。
- 同仁的倦怠:每天處理大量無意義訊息,負責的人很容易失去耐心,連帶影響服務品質。
所以防垃圾不只是技術問題,而是保護商機與客服品質的一環。
兼顧無障礙與轉換率
防護越嚴,誤傷真人的機率就越高。設計表單防護時,可以用下面這張決策表檢查:
| 做法 | 對機器人效果 | 對真人干擾 | 無障礙風險 | 建議 |
|---|---|---|---|---|
| 隱藏欄位 | 對簡單程式有效 | 幾乎沒有 | 需正確隱藏 | 一律加上 |
| 填寫時間檢查 | 對簡單程式有效 | 幾乎沒有 | 低 | 一律加上 |
| 頻率限制 | 擋大量重複 | 幾乎沒有 | 低 | 一律加上 |
| 內容過濾與分流 | 可處理真人推銷 | 沒有 | 沒有 | 垃圾多時加上 |
| 無感式驗證 | 較強 | 低 | 中 | 前幾層不夠時加上 |
| 圖片或文字驗證碼 | 較強 | 高 | 高 | 盡量避免,或只在高風險時出現 |
無障礙的幾個基本要求
- 驗證碼若無法避免,要提供替代方式,例如音訊或改用其他驗證方法。
- 錯誤訊息要清楚說明哪裡填錯、怎麼修正,而不是只顯示一句「送出失敗」。
- 表單欄位要有清楚的標籤,鍵盤可以完整操作。
- 在表單附近提供電話或其他聯絡管道,給無法完成表單的人另一條路。
更完整的無障礙原則,可以參考網站無障礙設計指南。
業主自查與改善步驟
如果你的表單正在被垃圾訊息困擾,可以照這個順序處理:
- 盤點所有表單:聯絡表單、詢價表單、電子報訂閱、留言區、會員註冊,列出每一個會寫入資料或寄信的地方,包括舊頁面上可能被遺忘的表單。
- 看一週的垃圾樣本:判斷主要是自動程式還是真人推銷,決定要加強哪一層。
- 先加低干擾的三層:隱藏欄位、填寫時間檢查、頻率限制,並確認後端有驗證。
- 設定分流而不是刪除:可疑訊息進另一個資料夾,指定一個人定期抽看。
- 檢查自動回覆:確認自動回覆不會被利用來寄信給第三方。
- 觀察一段時間再決定是否加驗證碼:如果前幾層已經擋下大部分,就不需要再增加使用者負擔。
- 自己實際填一次:用手機、不同瀏覽器、鍵盤操作各試一次,確認真人送得出去。
如果你的網站表單正被垃圾訊息淹沒,或想在改版時一併把防護設計好,NETVANA 可以協助盤點網站上所有表單入口、在前後端加上分層防護,並設定分流與通知流程。軟體服務一律採詢問報價制,歡迎與我們聯繫,我們會先了解垃圾訊息的類型與你的客服流程再提出建議;網站開發與維護的服務內容可參考軟體服務介紹。
延伸閱讀:表單之外網站還有哪些基本防護,看企業網站資安基礎;防護設計怎麼不排擠身障使用者,看網站無障礙設計指南;表單調整要不要納入維護合約,看網站維護費用與合約指南;被灌爆時怎麼確認系統撐得住,看流量高峰與壓力測試;表單通知信反而進了垃圾信匣,可以看企業信箱與網域寄信設定;擋掉垃圾訊息之後,剩下的表單要讓真人願意填,可以看官網轉換率優化指南。