1
letitbesqzr 2022-02-23 08:52:17 +08:00 1
付费投票
|
2
yEhwG10ZJa83067x 2022-02-23 08:57:46 +08:00
防御应该是防御不了了,只能降低刷票难度,越是设置障碍,体验越差。
另外请问你的刷票定义是什么,是非法的投票请求吗? 1.通过获取 openid 来区分是否是真实微信用户? 2.点击投票的时候做个验证码? 3.同一个 openid 只能投一票? 4.同一 ip 限制每秒投票数? 5.投票需要手机验证码? |
3
yEhwG10ZJa83067x 2022-02-23 08:58:46 +08:00
@letitbesqzr 还是老哥你厉害,对,付费投票,投一票需要 10 块钱!
|
4
dinghmcn 2022-02-23 09:07:54 +08:00
@letitbesqzr #1 拍卖呢
|
5
cheng6563 2022-02-23 09:16:07 +08:00
简单点,付费买票
|
6
Chad0000 2022-02-23 09:16:29 +08:00 via iPhone
打电话投票:
用户:喂是我吗 电脑:尊敬的客户你好,我司正开展充 1 万送 2 万的活动,心动不如行动,请按 1 了解详情。同时你可能感兴趣的活动…… 电脑:「十分钟后」重新收听请安#,投票请按圆周率前 20 位数字。 用户:嘟嘟嘟 |
7
snoopyhai 2022-02-23 09:19:10 +08:00
但凡活动刺激点,首先碰到的问题应该是请求,能扛得住请求的,应该也能防得住刷票吧。
最简单 openId 限制一下。 |
8
9136347 2022-02-23 10:58:11 +08:00 1
首先,我们要明确一个问题,你要解决的是访问量过大,还是被刷票的业务问题。
如果是业务问题: 最简单的引入一个滑块验证一类的验证方式,可以规避掉大量的非法请求。 第二个做法就是在服务端通过 IP ,请求的系统型号,软件版本等等做一个综合的判断来区分是否是重复请求。 第三,如果别人是真实的买的,比如我确实拉了一千个人来给我刷,你就认栽就行了。 如果是流量的问题: 一个小服务器,又想要抗住大的流量无非 1 优化逻辑,逻辑越简单越好 2 缓存,能 cdn 的 cdn 掉,能在 nginx 上静态缓存的就 nginx 静态缓存,能缓存到内存的缓存到内存 3 减小请求数据提及,能给他返回 3 个字段就不要返回 4 个字段,能只需要请求 5 个字段就不要请求 6 个字段,别小看这点请求量,之前返回 10K ,现在返回 8k ,可是实打实的 20%的带宽降低。 4 …..杂七杂八具体情况具体分析吧。 |
9
sun019 2022-02-23 11:08:42 +08:00
基本防不了。
按场景按需求可以做一下限制: 1 ,增加验证码(当然也会被破解),微信验证,如果是客户端 就客户端验证(都可破)。 2 ,增加 投票地区限制( IP ),如果北京地区的才能投票,但是会有误报的可能。优点可以防大部分。 3 ,终极的,充值投票,一分钱一票。(以前真干过),那体验哈哈。 |
10
66beta 2022-02-23 11:13:23 +08:00
到底是防御刷票,还是防御小服务器被打爆
|
11
hicdn 2022-02-23 11:19:51 +08:00
微信内的投票,直接调用微信的 openid 做限制,一个微信只能一次 /一天一次 /一天 N 次。别人真买一堆小号来刷,说明你们活动的奖品值得,防不了的。
|
12
LxExExl 2022-02-23 11:24:40 +08:00 via iPhone
|
13
letitbesqzr 2022-02-23 22:22:03 +08:00 1
|
14
hackun OP 回复有点晚了 确实是想防御短时间内高并发的请求 来投票的都是真实的微信用户 都能获取到 openid 具体的投票功能限制已经加上了
|
15
yEhwG10ZJa83067x 2022-02-24 08:16:38 +08:00
@hackun 高并发就优化逻辑吧,大概率往缓存上走,readis
|