后端接口被盗用有什么好办法么?

2019-07-27 07:24:27 +08:00
 jaskle
我们软件是小程序和手机 APP,小程序打开后是匿名就能够看到的资源信息,就像一个新闻页。但是发布不久就被别人抄了,页面做的稀烂功能一样,接口用的我们的。但是由于是匿名可以访问,所以只要反编译小程序就能看到 JS。恶心的一批。想问大家有什么办法不?
10273 次点击
所在节点    程序员
65 条回复
ChangQin
2019-07-27 19:46:42 +08:00
恶魔一点的,后台来一套 se 情的,能导致直接被封但是你们得用另一个接口。
善良一点的,加各种验证
wangningkai
2019-07-27 21:47:21 +08:00
一般的简单做法就是接口参数验签
DipperRoy
2019-07-27 21:52:53 +08:00
在 header 上塞点无用数据 然后把校验信息字段插进去
unclemcz
2019-07-27 21:56:28 +08:00
@wangningkai 一台 root 后的安卓机,微信小程序能拿到整个包,然后反编译,现在所知的情况是重要代码加密混淆后能暂时增加反编译的难度,以后可能也无法幸免。
encro
2019-07-27 22:12:31 +08:00
举报就行了,腾讯小程序域名是有限制的。
Raynard
2019-07-27 22:22:03 +08:00
抓 1024 的某区文章标题。。

然后随机返回。。。
mostkia
2019-07-27 22:38:19 +08:00
@whileFalse woc 太狠了,你是魔鬼吗?哈哈
Koreyoshi
2019-07-28 01:12:28 +08:00
可以考虑把小程序的云开发,当做中间件来使,通过云函数调用你的 API,小程序的权限控制来限制第三方访问。
moxiaonai
2019-07-28 01:22:48 +08:00
检验 refer,前端接口加个复杂点的混淆加密 token
gIrl1990
2019-07-28 02:06:40 +08:00
@neko77 https://www.v2ex.com/t/586612?p=1#r_7678881
这种行为感觉有点可耻。
jaskle
2019-07-28 05:40:21 +08:00
se 数据估计被封的不仅是对方的小程序,估计连我的域名和主机都凉了。其实我感觉验证 openid 比较稳,这样即使造假也能控制住
laoyuan
2019-07-28 07:15:59 +08:00
免费流量越多越好啊,不要挡住,悄摸得利用起来
auciou2
2019-07-28 07:37:34 +08:00
方案有很多。可以给接口增加一个验证 ID+超时。验证 ID 可以定期更新,或者随机产生,每次都不一样。
luozic
2019-07-28 09:58:29 +08:00
小程序有 id 的。 搞个网关在前面 监控和调用授权整上
miniwade514
2019-07-28 10:31:47 +08:00
@MMMMMMMMMMMMMMMM 不懂求教,token 他能反复拿是指什么? csrf token 不是一次性的吗?
NewConn
2019-07-28 10:55:25 +08:00
@wangsongyan 你好骚啊🌸🐔
AppxLite
2019-07-28 12:22:14 +08:00
请求加上 jscode,服务端看看能不能解密出 openid,如果不能证明是不合法的调用。
runtu2019
2019-07-28 13:43:12 +08:00
加密接口数据,解密方法用混淆,多跳几个方法!
locoz
2019-07-28 13:51:45 +08:00
这本质上是一个反爬问题。
你现在首先要解决接口能直接被别人从小程序上调用的问题,应该有办法可以判断是哪个小程序上调用的。
解决完这个之后再在接口上加个校验参数,每次调用接口的时候都拿其他参数和当前时间之类的可变值生成一次,并且服务端接到后也生成一次对比是否一致。
然后在这个基础上将代码进行高度混淆,使生成校验参数的逻辑难以被看懂。
如果做到这个程度之后还有人搞你,你还可以加上单 IP 频率限制、根据隐藏条件返回假数据、返回数据加密后在小程序端解密等各种手段。
如果还有人搞你的话你就放弃抵抗吧,他的成本已经被你提到比较高的程度了,经过多次调整、在需要服务器+代理 IP+逆向的情况下依然坚持获取你的数据并放到自己的小程序上展示,说明你的数据价值很高,值得他这么做,你能做的只有举报、走法律手段(成本较高)。
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 年前的登录是复杂了很多,增加了些破解难度,但实际上还是没用

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

https://www.v2ex.com/t/586612

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

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

© 2021 V2EX