1
xujialiang 2019-07-27 07:30:38 +08:00
小程序里限制 openid 的调用次数频率
|
2
jaskle OP @xujialiang 没啥用,他小程序直接用的我们的接口,他们连后台都没有,0 成本。
|
3
xuanbg 2019-07-27 07:32:55 +08:00
匿名可以访问就没办法了
|
4
wangsongyan 2019-07-27 07:34:21 +08:00 via iPhone
能不能把小程序的 AppId 传到后台,你再加个验证
|
5
whileFalse 2019-07-27 07:34:25 +08:00 via iPhone 63
改接口,对于老版本接口随机返回反动言论,然后趁对方没发现举报之
|
6
echotpq 2019-07-27 07:34:53 +08:00 via Android
设置来源,接口 ip 限制等等
|
7
wangsongyan 2019-07-27 07:34:56 +08:00 via iPhone
@whileFalse 这波操作真是 666
|
8
KuroNekoFan 2019-07-27 07:35:19 +08:00 via iPhone
你们接口不需要 token 校验什么的吗,
|
9
z7356995 2019-07-27 07:35:28 +08:00 via Android
我以前是在第一次请求页面发送一个随机且唯一 rss public key. 然后以后每次请求都用这个 key 加密,服务器上再解开。因为不是明文,每个请求的 key 又不一样,可以难道一般菜鸟吧
|
10
flyzero 2019-07-27 07:52:54 +08:00 via Android 1
referer 限制就好了,应该每个小程序对应一个的
|
11
TypeNANA 2019-07-27 07:58:29 +08:00 via Android
请求头里面有 appid,可以借这个来确定请求 app 来源
|
12
lasuar 2019-07-27 08:04:50 +08:00
后端接口谁写的,别人随便调?
|
13
lasuar 2019-07-27 08:10:31 +08:00 1
sorry 没看清。相当于你的接口被别人破解了,可以 referer+appid
|
14
wangxiaoaer 2019-07-27 08:15:46 +08:00 via Android
@TypeNANA 对方通过服务器反代怎么办?限 IP ? 很多共用公网 IP,限流容易被误伤。
|
15
hhyvs111 2019-07-27 08:16:42 +08:00
鉴权都不做的吗?
|
16
tanszhe 2019-07-27 08:22:15 +08:00
多简单的事情
加个中间件 通过 jscode 验证一下不就完了 其他人知道接口也无法调用 |
17
treblex 2019-07-27 08:37:27 +08:00 via Android
既然是新闻,在正文加个二维码不就行了🤣🤣
|
18
zgl263885 2019-07-27 08:48:56 +08:00 via iPhone
某种角度来讲,反爬只能提高门槛,不能完全杜绝
|
19
xenme 2019-07-27 09:14:27 +08:00 via iPhone
不定时更新下小程序,然后给他的前端返回错误的垃圾内容
|
20
jaskle OP @whileFalse 你这个操作好像挺溜,不过危险系数太高。
其实麻烦就在于匿名访问,就是不需要注册,研究了一下腾讯之类的,他们是 web 不允许跨域,而且加了 referer,所以别人偷不了。但是小程序只要设置 ip 白名单就行,他也不管这个 ip 是谁的,哎,恶心 |
21
jaskle OP 经查证确实有 referer,可以检验 appid,谢谢大家了
|
22
zibber 2019-07-27 09:36:36 +08:00
小程序静默授权, 接口检查一下登录状态
|
23
sammmmm 2019-07-27 09:40:53 +08:00
referer 不是可以修改吗
|
25
jaskle OP @sammmmm 只有搭建服务端能够抓取修改 referer,浏览器小程序之类的无权修改,如果对方用服务器我们就能轻松封掉他的 ip,所以不必担心
|
26
jmk92 2019-07-27 11:52:00 +08:00
@jaskle 你封 referer,他可以加反代,你封 IP,他可以用拨号 vps(全国混播),而且还容易误伤。
不能简单的让他访问不了,否则他还会想办法,你要让他时不时的不能用,动不动内容还乱了,专门为他写一套流程,得整的他一脸懵逼,访问还是正常的,时不时就出乱七八糟的,让他自己放弃。 |
27
chinvo 2019-07-27 12:15:51 +08:00
静默授权获取 openid,后台用 openid 取一下用户信息,不是你家的小程序,取不到信息
|
28
neko77 2019-07-27 14:23:24 +08:00
数据投毒,访问频率高的随机搞点乱数据, [斜眼笑]
|
29
mamahaha 2019-07-27 14:30:47 +08:00
感觉这都是开学第一天就该解决的问题,你这都毕业好几年了,还没解决。
|
30
mumbler 2019-07-27 14:44:02 +08:00
简单加个密,就能防住大多数人. 加个 time 和 token 参数,time 传时间戳,客户端都根据时间戳加盐做 md5,生成一个 token,服务器拿到 time 用同样算法生成 token 和传上来的 token 对比一下,不一致就返回假数据,如果一致再检查下时间戳是否过期,过期也返回假数据
|
31
licoycn 2019-07-27 16:03:42 +08:00
小程序授权,之后的接口都需要身份验证,就解决了,随便他们调反正获取不到数据
|
33
jianshou 2019-07-27 17:05:04 +08:00
推送辣鸡广告,自己人接收后处理一下
|
34
Greatshu 2019-07-27 17:41:27 +08:00 1
这是免费广告位啊。改接口,接入广告联盟,反撸一波。
|
35
xnode 2019-07-27 17:44:28 +08:00
...多简单的事情, 让自己的客户端价格 key 验证,服务器屏蔽错误 key
|
36
qoras 2019-07-27 18:10:34 +08:00
加一套鉴权机制
|
37
wozhizui 2019-07-27 18:10:40 +08:00 via Android
token 认证
|
38
dremy 2019-07-27 18:57:29 +08:00 via iPhone
动态 csrf token 了解一下,跟时间戳相关加密的
|
39
MMMMMMMMMMMMMMMM 2019-07-27 19:25:17 +08:00
token 他能反复拿
referer 能伪造 真正狠的就是悄悄地 间歇性 给他返回错误结果 他程序三天两头出 BUG 还重现不了心态肯定崩 |
40
ruandao 2019-07-27 19:37:43 +08:00
@MMMMMMMMMMMMMMMM 正常用户也被伤了
|
41
ChangQin 2019-07-27 19:46:42 +08:00
恶魔一点的,后台来一套 se 情的,能导致直接被封但是你们得用另一个接口。
善良一点的,加各种验证 |
42
wangningkai 2019-07-27 21:47:21 +08:00
一般的简单做法就是接口参数验签
|
43
DipperRoy 2019-07-27 21:52:53 +08:00 via Android
在 header 上塞点无用数据 然后把校验信息字段插进去
|
44
unclemcz 2019-07-27 21:56:28 +08:00 via Android
@wangningkai 一台 root 后的安卓机,微信小程序能拿到整个包,然后反编译,现在所知的情况是重要代码加密混淆后能暂时增加反编译的难度,以后可能也无法幸免。
|
45
encro 2019-07-27 22:12:31 +08:00
举报就行了,腾讯小程序域名是有限制的。
|
46
Raynard 2019-07-27 22:22:03 +08:00
抓 1024 的某区文章标题。。
然后随机返回。。。 |
47
mostkia 2019-07-27 22:38:19 +08:00
@whileFalse woc 太狠了,你是魔鬼吗?哈哈
|
48
Koreyoshi 2019-07-28 01:12:28 +08:00
可以考虑把小程序的云开发,当做中间件来使,通过云函数调用你的 API,小程序的权限控制来限制第三方访问。
|
49
moxiaonai 2019-07-28 01:22:48 +08:00 via Android
检验 refer,前端接口加个复杂点的混淆加密 token
|
50
gIrl1990 2019-07-28 02:06:40 +08:00
|
51
jaskle OP se 数据估计被封的不仅是对方的小程序,估计连我的域名和主机都凉了。其实我感觉验证 openid 比较稳,这样即使造假也能控制住
|
52
laoyuan 2019-07-28 07:15:59 +08:00
免费流量越多越好啊,不要挡住,悄摸得利用起来
|
53
auciou2 2019-07-28 07:37:34 +08:00
方案有很多。可以给接口增加一个验证 ID+超时。验证 ID 可以定期更新,或者随机产生,每次都不一样。
|
54
luozic 2019-07-28 09:58:29 +08:00 via iPhone
小程序有 id 的。 搞个网关在前面 监控和调用授权整上
|
55
miniwade514 2019-07-28 10:31:47 +08:00
@MMMMMMMMMMMMMMMM 不懂求教,token 他能反复拿是指什么? csrf token 不是一次性的吗?
|
56
NewConn 2019-07-28 10:55:25 +08:00 via Android
@wangsongyan 你好骚啊🌸🐔
|
57
AppxLite 2019-07-28 12:22:14 +08:00
请求加上 jscode,服务端看看能不能解密出 openid,如果不能证明是不合法的调用。
|
58
runtu2019 2019-07-28 13:43:12 +08:00
加密接口数据,解密方法用混淆,多跳几个方法!
|
59
locoz 2019-07-28 13:51:45 +08:00 via Android 2
这本质上是一个反爬问题。
你现在首先要解决接口能直接被别人从小程序上调用的问题,应该有办法可以判断是哪个小程序上调用的。 解决完这个之后再在接口上加个校验参数,每次调用接口的时候都拿其他参数和当前时间之类的可变值生成一次,并且服务端接到后也生成一次对比是否一致。 然后在这个基础上将代码进行高度混淆,使生成校验参数的逻辑难以被看懂。 如果做到这个程度之后还有人搞你,你还可以加上单 IP 频率限制、根据隐藏条件返回假数据、返回数据加密后在小程序端解密等各种手段。 如果还有人搞你的话你就放弃抵抗吧,他的成本已经被你提到比较高的程度了,经过多次调整、在需要服务器+代理 IP+逆向的情况下依然坚持获取你的数据并放到自己的小程序上展示,说明你的数据价值很高,值得他这么做,你能做的只有举报、走法律手段(成本较高)。 |
60
MMMMMMMMMMMMMMMM 2019-07-28 19:00:26 +08:00
@miniwade514 无限的 Debug 往前追,可以追出你发 token 的流程,跑一遍就行了。
emmmm,就好比 QQ 现在的网页登录,先访问了一个 url 给你个值 https://ssl.ptlogin2.qq.com/check 然后再给他各种偏移加盐(js 里都可以直接扒出 function 来用),带好 cookie,失效前一起再送过去,server 给你发 token 就能用了,失效再拿就好 比 10 年前的登录是复杂了很多,增加了些破解难度,但实际上还是没用 |
61
winglight2016 2019-07-28 20:28:24 +08:00
返回的列表里,随机加上几条广告,详情页面的 URL 加上 redirect 刷广告流量,这样不就坏事儿变好事儿了吗?
|
62
nnnToTnnn 2019-07-29 09:14:20 +08:00
e....... 不就是反爬虫么? 这个很简单啊,直接上 google 的点一下就行了
|
63
wongyusing 2019-07-29 11:00:43 +08:00
你单纯的反爬,其实没有什么意义。
爬虫是没有办法反的。迟早会被有志之士爬取。 这样问你吧。 你这个小程序是什么类型?? 小游戏?? 新闻?? 还是说文章?? |
64
1044523901 2019-07-29 11:33:31 +08:00
@Greatshu 哈哈
|