NaraForm Docs
收集回覆

提交防護

Rate limit、Honeypot、一人一份,三層防濫用機制

NaraForm 內建三層提交防護,防止機器人、重複提交和惡意灌票。這些設定在「設定」頁籤中獨立開關。

測試期基礎限制

託管版測試期間,基礎功能免費使用,但仍有固定上限保護資料庫與服務穩定性。

項目基礎上限
每個 workspace 表單數50
每份表單回覆數2,000
每份表單題目數50
每筆回覆 answers 數50
單一文字答案長度10,000 字
單筆回覆儲存 payload128KB

maxResponses 是更嚴格的表單自訂上限,不能高於目前方案的每表單回覆數。若留空,表單仍會使用目前方案的基礎上限。

Rate Limit(速率限制)

限制同一個 IP 在短時間內能提交的次數。觸發限制時回傳 429 錯誤,填寫者看到提示稍後再試。

  • 使用 Redis 計數,精確且高效能
  • 正常填寫者幾乎不會觸發,只攔截異常高頻請求

Honeypot(蜜罐)

在表單中加入一個對人類不可見的隱藏欄位。機器人通常會填入所有欄位,一旦該欄位有值,提交會被靜默拒絕(回傳假成功,不存入資料庫)。

  • 不影響任何正常填寫者
  • 對基礎自動化填表工具有效

一人一份

透過 cookie 記錄填寫者身份,同一瀏覽器在有效期內只能提交一次。適合需要控制重複填答的場景。

一人一份基於 cookie,換瀏覽器或清除 cookie 可以再次填寫。若需要更嚴格的去重,建議在題目中收集 Email,再於回覆端人工篩查。

建議搭配

三層機制各自解決不同問題,建議同時啟用:

機制防護對象
Rate limit高頻提交、壓力測試攻擊
Honeypot簡單爬蟲、自動化表單填寫工具
一人一份同一人重複填答

系統會盡力維護資料與備份,但重要問卷仍建議定期匯出 CSV,並依你的資料保存規範自行留存副本。