作者walelile (wakaka)
看板Web_Design
標題[問題] 如何防止使用者大量點擊造成DB存取
時間Tue Dec 2 23:17:12 2014
我在做發送認証信功能時候想到,
目前實作的狀況,使用者只需要填好email按送出,就需要存取DB及google smtp server。
存取DB是用來確定以下幾點
1. 該email有對應的使用者存在
2. 使用者尚未認証完畢
如果以上兩點皆滿足,就得要再多一個送mail的步驟。
我應該如何防止有人一直用確實需要認証的email重複填寫表格並發送。
如果是透過瀏覽器,我想應該可以把一些(如驗證次數)訊息寫到cookie上來防止(?)
但是如果是直接用其他程式發送POST,這辦法就無效。
要防止這種行為,是要靠填寫驗證碼嗎?還有沒有其他的方法呢?
謝謝指教
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.168.3.78
※ 文章網址: http://www.ptt.cc/bbs/Web_Design/M.1417533434.A.0D8.html
→ alog: 認ip就夠了 12/02 23:29
→ alog: 不會有來自特定來源的ip一直持續要求email認證 12/02 23:30
→ alog: 驗證碼產生機制本身也要做request控管,免得有人刻意消耗 12/02 23:30
→ alog: server資源 12/02 23:30
→ alog: 怎麼做?就是你開一張memory engine的table 12/02 23:31
→ alog: 把嘗試做某些事情的ip做個統計, 到達一個上限就reject 12/02 23:32
→ alog: 然後定時去清掉這張表 12/02 23:32
→ oToToT: 這種防破壞盡量別寫在前端,很容易被修改 12/02 23:51
→ walelile: 了解,謝謝兩位大大的解答 12/03 06:58