最近开发了一个小程序前端开发前端和后台花了1个多月时间开发,结果被人轻松的把微信小程序前端代码破解出来。而且完整一个字不差截图给我看了。
小程序是前后端都分离的,如果后端不作验证,别人把你的小程序前端扒了接口也暴露了,随便可以复制你的前端去换成自己appid上线后调你的接口。这显然是不安全的。
在想为什么微信官方不限制指定appid才能调用指定域名接口。这样接口才是安全的。
最后找了一圈,微信开发者工具里只能对前端代码进行混淆加固,只能做到这步,让人破解出来后 看不懂逻辑,但还是一样能破解出来。只能做到基础的保护作用。
微信小程序演示:
目前按官方想方法:
微信代码加固方法:
打开微信开发者工具,在菜单栏选择"工具-插件-编辑器扩展"或"设置-扩展设置-编辑器扩展",找到 “代码加固” 点击"获取"进行安装。安装成功后,即可使用该插件功能。右键js文件加固。
目前此方法只能是对js加固混淆,wxml 样式等没法加密,人家要偷还是一样能随便反编译出来。
请教大佬们微信小程序如何做好加密?微信官方有没有指定小程序访问接口?后端接口如何做安全防护,不给别人随便调用?否则别人知道你的api地址就可以随便用了
前端加密只是相对的。
后端可以根据小程序appid和秘钥判断是否是自己的小程序,不是自己接入的就显示错误提示
前端没有秘密可言,后端接口你要做好验证,登录拿到openid和session_key,自己生成session_id或者token,然后设置个几分钟或者半小时过期,如果过期让前端又重新登录,每个接口都去验证session_id或者token,有验证别人的小程序还怎么能随便调用,他又没有你的密钥
识别ip
正常来说,应该是用户获取到openid,然后你存个token在用户本地,然后token过期再更新
设置额度,某个ip在短时间内访问过多自动拉黑,还有某个token、openid 访问频率高也拉黑
还有重点关注别人喜欢爬的接口,可以设置别的加密,反正花样特别多