我有个 Ajax 的接口,怎么防止爬虫调用,之前用过把一段 JS 写一段从 Dom 上获取一个值,根据一定的算法重新生成一个值作为 token 传递后端校验,JS 代码采用 JavaScript Obfuscator Tool 工具混淆加密,结果还是被破解了。。。。。有什么好的办法吗?各位大神
我有个 Ajax 的接口,怎么防止爬虫调用,之前用过把一段 JS 写一段从 Dom 上获取一个值,根据一定的算法重新生成一个值作为 token 传递后端校验,JS 代码采用 JavaScript Obfuscator Tool 工具混淆加密,结果还是被破解了。。。。。有什么好的办法吗?各位大神
|
webbillionDec 14, 2023
1
浏览器端无法完全防范吧,只是说可以加大破解难度,像你说的混淆,js 用各种 utf 转移加大难度,还可以加入那个检测是否打开控制台的库,但是这些都是有办法拦截和破解的。从后端限制 ip 和并发数量之类的角度着手吧。
|
|
zzl22100048Dec 14, 2023
2
爬虫是不可能完全避免的,如果只是拦截恶意爬虫,直接上实名认证
|
|
codehzDec 14, 2023
3
不嫌麻烦的话走 websocket 吧,至少难度上可以给攻击者加一些,能干掉不少低级爬虫框架
|
|
murmurDec 14, 2023
4
实名认证+各种验证码,最后就跟阿里京东一样,动不动就要拼个图拉个滑块
|
|
chaoschickDec 14, 2023 via Android
5
设计一个更加复杂的加密算法,继续叠 buf
|
|
leokunDec 14, 2023
6
加验证码
|
|
zsj1029Dec 14, 2023 via iPhone
7
Wasm 加密
|
|
dw2693734dDec 14, 2023
8
用 cloudflare 验证机器人,稳的一匹
|
|
9
必须绑定微信,让他突破微信的风控去
|
|
10
反爬需要前后端配合,确实如同楼上说的。可以考虑:1. 限制 ip 每秒请求数 2. 要求用户必须注册,限制用户请求数 3. 加验证码或直接用极验之类的方案 4. 加工作量证明( proof of work ),要求每次请求必须完成一些复杂计算
|
|
pengtdydDec 14, 2023
11
cloudflare 强的一批
|
|
12
|
|
huangpingdongDec 15, 2023
13
@pengtdyd 没用,直接破
|
|
letitbesqzrDec 15, 2023
14
@dw2693734d #8
@pengtdyd #11 没用,轻松过。。包括 ReCaptcha v2 、ReCaptcha v3 、ReCaptcha v2 Enterprise 、ReCaptcha v3 Enterprise 、FunCaptcha 、HCaptcha 都一大堆绕过的三方服务 。 |