[問題] 如何防止使用者大量點擊造成DB存取

看板Web_Design作者 (wakaka)時間11年前 (2014/12/02 23:17), 編輯推噓0(009)
留言9則, 3人參與, 最新討論串1/1
我在做發送認証信功能時候想到, 目前實作的狀況,使用者只需要填好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

12/02 23:29, , 1F
認ip就夠了
12/02 23:29, 1F

12/02 23:30, , 2F
不會有來自特定來源的ip一直持續要求email認證
12/02 23:30, 2F

12/02 23:30, , 3F
驗證碼產生機制本身也要做request控管,免得有人刻意消耗
12/02 23:30, 3F

12/02 23:30, , 4F
server資源
12/02 23:30, 4F

12/02 23:31, , 5F
怎麼做?就是你開一張memory engine的table
12/02 23:31, 5F

12/02 23:32, , 6F
把嘗試做某些事情的ip做個統計, 到達一個上限就reject
12/02 23:32, 6F

12/02 23:32, , 7F
然後定時去清掉這張表
12/02 23:32, 7F

12/02 23:51, , 8F
這種防破壞盡量別寫在前端,很容易被修改
12/02 23:51, 8F

12/03 06:58, , 9F
了解,謝謝兩位大大的解答
12/03 06:58, 9F
文章代碼(AID): #1KVTVw3O (Web_Design)