做个一个玩完游戏发红包项目,如何防止别人薅羊毛?

规则:微信公众号授权登录,每人玩游戏通过后有一定概率抽到红包。

问题:如何判断用户是否真的通过游戏?防止别人调用接口领取红包!

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 18

记录下游戏状态,没有玩游戏就不通过呗。接口也要判断下是不是微信环境

3个月前 评论
mmx (楼主) 3个月前

建一个游戏存档表,记录游戏状态和是否领奖。领奖的时候传存档id去查就行

3个月前 评论

游戏没有等级、关卡、进度记录啊?达到一定条件才允许领不就行了

3个月前 评论
skarner

游戏是否完成状态和微信的openid相关联 领取红包之前,检测这个状态就行了呀

3个月前 评论

如果游戏是那个状态同步的还好弄,单机和帧同步就多搞些验证步骤,比如每天更新一个版本换不同的验证方式,然后每隔多少天红包才生效,,

3个月前 评论
sanders

我理解楼主的问题在于如何判断用完成了游戏。

其实这取决于游戏的交互设计,比如:用户的游戏行为是否都被服务端记录,游戏的内容是不是都由服务端控制。如果以上两点都是肯定的便可以基本上准确判断用户完成游戏的行为。

但也有例外:你无法判定完成游戏的是目标用户还是个某段程序脚本,这可能需要进行验证,或通过用户的其他行为记录进行核验(如果规则设计能进行用户筛选自然最稳妥)。

最后需要指出的是,以上的任何一种方法都可能增加这个活动的成本,我们需要权衡活动的预期目标和投入产出,来确定是否使用这些方法。

3个月前 评论
Cool1 3个月前

抖音淘宝等大厂接口都能被搞,何况我们这种中小型企业,现在黑灰产的技术能力是非常强的,对此我们也要变换思路,从防止到在自己技术能力内尽可能的防。

  1. 请求数据加密+签名
  2. 前置 WAF
  3. 领取红包前弄个验证码验证 cloud.tencent.com/product/captcha
  4. 最贵的微信安全网关 dev.weixin.qq.com/docs/gateway/
3个月前 评论
JinBB 3个月前

这是一个产品设计问题,通常游戏红包,需要达到一定条件才能触发,例如1天内玩够10局等等,没有门槛条件的游戏红包,有极大可能被刷,无论你的技术方案设计如何优秀,总有些场景覆盖不全,因此做好产品设计,就可以很大程度上降低被刷的概率,剩下才是你的技术防刷方案。

3个月前 评论
Buffett-Cai 3个月前

加密吧,确保接口不是被恶意调用而是正常传来的

3个月前 评论

没有办法,只要有利益

3个月前 评论

学拼多多呀,刚登录就先给个几分钱的,后面每通过一关就给奖励个几块钱(但是不能提现,哈哈),要么攒够100整数一块提,要么只能提几分几毛的。

3个月前 评论

如果是H5版本无法完全验证,别人可以通过抓包写脚本模拟来完游戏
我们之前也是这个样的,只能通过各种前置来增加被刷难度
微信小程序版本现在有解决方案了,可以用这个微信安全网关 dev.weixin.qq.com/docs/gateway/

3个月前 评论
jiangjun

1.接入风控,限制ip,必须微信登录,等等。 2.游戏里面通过要把状态写到服务器。

3个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!