[請益] 如何避免按鍵精靈的攻擊
請問一下各位大大, 最近碰到一個問題
我有一支API, 這支API所做的事情如下:
step 1. 檢查金額是否足夠(抓DB)
step 2. 如果足夠則進行扣款(抓DB)
但我想到一種情況是, 假設目前錢包有100元, 商品價格100元
當兩個使用者同時呼叫該API
有可能同時執行了step1, 所以都取到金額為100元,
所以這兩個使用者都會購買成功,
因為PHP 不支援多執行緒lock的機制, 我想請問一般都要如何避免這種情況?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 202.39.9.79
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1503023549.A.182.html
※ 編輯: tas72732002 (202.39.9.79), 08/18/2017 10:40:34
推
08/18 10:47, , 1F
08/18 10:47, 1F
→
08/18 10:57, , 2F
08/18 10:57, 2F
→
08/18 11:26, , 3F
08/18 11:26, 3F
推
08/18 14:55, , 4F
08/18 14:55, 4F
→
08/18 14:55, , 5F
08/18 14:55, 5F
→
08/18 22:18, , 6F
08/18 22:18, 6F
推
08/19 17:23, , 7F
08/19 17:23, 7F
→
08/19 17:23, , 8F
08/19 17:23, 8F
→
08/22 23:18, , 9F
08/22 23:18, 9F
推
08/25 03:03, , 10F
08/25 03:03, 10F
→
09/01 18:07, , 11F
09/01 18:07, 11F
→
09/01 18:08, , 12F
09/01 18:08, 12F