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