欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

最近有一个公众号发红包的需求,要求一个二维码对应一个红包,扫码领取,关于防止被刷红包的问题?

程序员文章站 2022-05-27 23:07:31
...
需求: 程序为公众号准备若干二维码, 总额*万元,要求扫码领取,每个二维码对一个红包,领取后不可重复领取,这和普通的 扫码 送红包广告不同,那种只有一个二维码,谁都可以扫和传播,发完为止
问题: 可能会存在根据 url 猜出其他红包链接的问题,既没有二维码(这里二维码应该是控制红包要发给谁不发给谁),也能领取.
已经想到的办法:
写一个加密方法,用时间戳,随机数 和 一个预定义 token(或者是code) 来加密,二维码链接后面也带上时间戳 随机数,和 token,扫码后根据参数加密和存的加密字符串对比来验证是否合法,这样也许能避免猜 url 的人领取红包

不知道各位大哥有什么好的方法吗

回复内容:

需求: 程序为公众号准备若干二维码, 总额*万元,要求扫码领取,每个二维码对一个红包,领取后不可重复领取,这和普通的 扫码 送红包广告不同,那种只有一个二维码,谁都可以扫和传播,发完为止
问题: 可能会存在根据 url 猜出其他红包链接的问题,既没有二维码(这里二维码应该是控制红包要发给谁不发给谁),也能领取.
已经想到的办法:
写一个加密方法,用时间戳,随机数 和 一个预定义 token(或者是code) 来加密,二维码链接后面也带上时间戳 随机数,和 token,扫码后根据参数加密和存的加密字符串对比来验证是否合法,这样也许能避免猜 url 的人领取红包

不知道各位大哥有什么好的方法吗

1,首先你得二维码用户如何获得?这是重点哦。你绝对需要一套机制控制用户获取二维码,这是重点!!

2,关于二维码url的唯一性这个好弄,你写套非对称加密算法,把加密后字串放在url里,每次请求过来时在用算法核对下。

3,可以加入浏览器特性判断,什么?浏览器判断??意思就是,有意攻击的人总会直接扫描你页面,扫描后并不会有浏览器还有的特性,加载页面资源,例如img,script,css...,很多了,具体怎么判断,你自己想。

4,不要相信openid,ip,手机号,没用。

5,说到这如果你上面都严谨实现,基本可以杜绝80%刷客。

6,微信本身就有套防刷机制,你又可以放心一下下了。

7,更绝点还有,还是流条活路。

8,...