收集回覆
提交防護
Rate limit、Honeypot、一人一份,三層防濫用機制
NaraForm 內建三層提交防護,防止機器人、重複提交和惡意灌票。這些設定在「設定」頁籤中獨立開關。
測試期基礎限制
託管版測試期間,基礎功能免費使用,但仍有固定上限保護資料庫與服務穩定性。
| 項目 | 基礎上限 |
|---|---|
| 每個 workspace 表單數 | 50 |
| 每份表單回覆數 | 2,000 |
| 每份表單題目數 | 50 |
| 每筆回覆 answers 數 | 50 |
| 單一文字答案長度 | 10,000 字 |
| 單筆回覆儲存 payload | 128KB |
maxResponses 是更嚴格的表單自訂上限,不能高於目前方案的每表單回覆數。若留空,表單仍會使用目前方案的基礎上限。
Rate Limit(速率限制)
限制同一個 IP 在短時間內能提交的次數。觸發限制時回傳 429 錯誤,填寫者看到提示稍後再試。
- 使用 Redis 計數,精確且高效能
- 正常填寫者幾乎不會觸發,只攔截異常高頻請求
Honeypot(蜜罐)
在表單中加入一個對人類不可見的隱藏欄位。機器人通常會填入所有欄位,一旦該欄位有值,提交會被靜默拒絕(回傳假成功,不存入資料庫)。
- 不影響任何正常填寫者
- 對基礎自動化填表工具有效
一人一份
透過 cookie 記錄填寫者身份,同一瀏覽器在有效期內只能提交一次。適合需要控制重複填答的場景。
一人一份基於 cookie,換瀏覽器或清除 cookie 可以再次填寫。若需要更嚴格的去重,建議在題目中收集 Email,再於回覆端人工篩查。
建議搭配
三層機制各自解決不同問題,建議同時啟用:
| 機制 | 防護對象 |
|---|---|
| Rate limit | 高頻提交、壓力測試攻擊 |
| Honeypot | 簡單爬蟲、自動化表單填寫工具 |
| 一人一份 | 同一人重複填答 |
系統會盡力維護資料與備份,但重要問卷仍建議定期匯出 CSV,並依你的資料保存規範自行留存副本。