小程序如何反编译,如何与后端实现请求安全
发布于 3 年前 作者 leiwu 4670 次浏览 来自 分享

小程序上线一段时间,经常出现莫名用户注册,一开始非常可疑,后面越来越多,确定是黑客攻击。

接口都加了签名验证,但是黑客依然畅通无阻的注册访问,当时也是一脸懵逼。

经过反复确认,签名验证没有问题,唯一有问题的很可能是小程序出问题,其实际上小程序相当于前端页面,非常容易被反编译。

那问题来了,如何反编译?答案是:目前没有办法。微信官方应该要努力解决这个问题。

既然小程序代码被反编译无法改变,那么如何实现请求安全呢?答案是:接口签名验证;

接口签名验证是小程序发起一个请求,携带一个签名(字符串)及参数信息,服务端校验签名,如果一致则通过验证,返回接口数据;这里前后端都会有个共同的密钥,问题就出在小程序必须把密钥写在代码中,这是被攻击的根源;

如何防止黑客拿到密钥呢?目前唯一能解决的是通过云开发,将密钥放到云函数或云数据库中,这样即使黑客反编译了小程序代码,运行时也无法拿到密钥,这样也就无法发起请求。

哈哈…终于摆脱了黑客的骚挠了!

回到顶部