没有登录机制如何防刷

2023-09-12 14:48:04 +08:00
 brader
产品出的页面要求基本是直接使用的,没有用户、登录机制。
因为利益问题,某些接口出现了一些恶意请求来捣乱,我基于 IP 、客户端特征做了一些频率限制、封 IP 策略。
但无法根治,攻击方应该是专业黑产,封完 IP 或者客户端特征后,对方也会针对性的做调整来刷接口,基本上对方每天能换上百个 IP 来刷。

和产品聊过,产品不愿意做登录机制,验证码机制之类的。
3909 次点击
所在节点    程序员
31 条回复
stinkytofu
2023-09-12 14:51:53 +08:00
无解, 只能增加预算, 提高抗刷能力. 其次就算你做了登录和验证码, 只要想搞你, 还是能搞
Puteulanus
2023-09-12 14:56:25 +08:00
接口要求附带签名,签名代码 JS 混淆
签名可以使用慢 hash ,用户操作的时候卡那么一下问题不大,批量刷的时候就会严重拖慢他请求的速度
jianyang
2023-09-12 15:00:32 +08:00
先查 IP 信息、如果是家宽就根据实际情况限流、如果是数据中心、机房 IP 就不返回正常数据
查 IP 信息有一定的误差、感觉这个误差应该不会好大
codeself
2023-09-12 15:03:10 +08:00
不一定全部加验证码,针对某个 ip 请求频繁了加验证码,
这样的话,
一方面不影响正常用户请求(正常用户每分钟用人肉不可能请求这么频繁,所以不会触发验证码)
另一方面,可以加大攻击方的成本(当所得利益小于换 ip 的成本时,就不刷了)
Puteulanus
2023-09-12 15:09:09 +08:00
防 headless 浏览器的话还可以试试帆布指纹
dongdong12345
2023-09-12 15:09:22 +08:00
只能是参数加解密+混淆前端代码来提高破解成本了吧,但也只是提高破解成本而已
hdczsf
2023-09-12 15:12:46 +08:00
如果高速刷可以试试 POW: https://www.cnblogs.com/index-html/p/web-pow-research.html
如果是抓取信息的话,检测到是爬虫不要直接拒绝,而是给返回的信息里搀屎,一会假一会真,真中有假,假中带真,总之找不到规律,让对方无从判断是不是被检测到了,主动权在你手里,早晚玩得对方欲仙欲死。
如果是提交接口也一样,返回都是正常的,后台默默的过滤掉就可以了,不要让对方知道提交是成功还是失败了。
gogo789
2023-09-12 15:19:19 +08:00
可以试试滑块验证码,很多网站都有这个,用户也比较能接受,然后根据场景定义一些触发滑块的策略,能很有效的拦截。如果连滑块都不愿意用,单纯靠封 ip ,就很被动,只能发现一批处理一批,而且也可能存在误杀。当然如果公司有这一部分预算的话,可以去买阿里云或者腾讯云的 风险识别
mengdodo
2023-09-12 15:56:35 +08:00
@hdczsf 这个办法好啊,先准备好一批题库,然后给到前端计算,算不出来就给假数据,算得出来必须浪费算力。
billzhuang
2023-09-12 16:09:29 +08:00
WAF 就可以看这个
lincanbin
2023-09-12 16:12:05 +08:00
cloudflare 就有相关的防火墙吧
myderr
2023-09-12 17:39:03 +08:00
就 web 应用,如果我先爬取一次页面,获取到一批 pow_ques,然后新的程序一直计算 Hash,提交程序在进行高频提交呢
cs3230524
2023-09-12 17:53:57 +08:00
换个产品。
xiangyuecn
2023-09-12 17:55:38 +08:00
既要 又要 这也不能 那也不能,无解。直接不管,多花钱升级服务器,加带宽,又不是花自己的钱,不要抠抠搜搜的
javalaw2010
2023-09-12 18:00:20 +08:00
换个思路,从用户行为入手,假设正常用户的行为是 A 页面->B 页面->活动页面,而黑产的行为是直接打开活动页面的话,则在 A,B 页面中的接口中记录用户行为。活动页面的接口里面判断是否有 A/B 页面的行为,如果没有的话,判断为高风险用户,直接弹验证码。

如果普通用户和黑产都是直接进活动页的话,也可以在活动页记录用户产生的一些随机行为来判断高风险用户。
yunfangyu7
2023-09-12 18:09:10 +08:00
@brader 可以加我聊聊 能解决 V d2l0aC0tdGVh
yunfangyu7
2023-09-12 18:14:05 +08:00
@brader 刷接口的这种情况,靠手动去封 ip 段,是非常麻烦的,有的 ip 并没有访问特征,甚至有的会模仿正常用户访问,这个情况容易封正常用户,导致体验感极差
adoal
2023-09-12 18:22:56 +08:00
这个事是谁说了算的?
lakehylia
2023-09-12 18:25:49 +08:00
不换思想就换人,把产品换了
kloudmuka
2023-09-12 18:28:28 +08:00
@lakehylia 目前看到最靠谱的解决方案

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/973028

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX