首页 > 服务端防(恶意)并发提交方案

服务端防(恶意)并发提交方案

领取优惠券业务逻辑

count = getReceivedCount(userId,couponId);
if(count>=1) //假如每人限领一张
    //提示已领取 直接返回
insertUserReceiveLog(userReceiveLog);

这种情况没法处理这些情况:

于是很有可能会插入多条记录 即同一用户领取了多张券

如何避免这种情况发生呢?


数据表加个字段表示状态,插入数据前先检查该状态值,符合要求才写入数据。


把这个事放客户端就容易多了,提交之后就把页面状态锁定,加个loading浮层,禁止用户继续操作。并且把客户端的请求超时时间设置的长点,基本上就能解决你的问题了。服务端也能减少各种验证什么的。

【热门文章】
【热门文章】