小程序
小游戏
企业微信
微信支付
扫描小程序码分享
微信小程序发布成功之后。 用户有没有可能通过一些特殊的处理方式,来获取到当前微信小程序的源码?
对于这种类似的问题,腾讯官方技术方面,有没有做什么相应的应对措施?
由于一直没有找到,微信小程序的官方技术支持的人工联系方式。所以在这里把问题发布出来,希望各位做技术的同仁、以及小程序的官方技术人员,能够帮忙。
谢谢!
15 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
试试能不能扒自己的源码
https://zhuanlan.zhihu.com/p/37667537
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
把你得接口做好安全防范就可以了
现在有一种操作叫反编译,确实可以拿到小程序源码,一般接口都会加token,这个token来源又是wx.login时得到的,意思就是服务端那边只有原本的小程序能访问,其他的小程序都不行的。反编译得到的源码里没有project.config.json这个配置文件,不用担心appid暴露,所以别人拿到的只是前端代码,有token验证的并不能正常使用。还有一些小程序源码是经过特殊处理的,被反编译后,都不能运行。
如果是反编译的文件里面没有project.config.json这个文件,那么就是说appid不会暴露。
那么,是否存在这种可能:如果拿到除了project.config.json的所有代码文件,那么我是否可以通过其他的任意一个有效的appid把当前的小程序代码,运行起来?
可以的,重新申请一个账号把自己的APPID填进去,然后再在微信后台配置一下requestURL,只要后台接口没有验证,大部分功能都是可以用的(支付除外)
如果后台接口验证的话, 可以采取什么方式来验证呢?
这就要看你反编译的小程序开发者有没有做安全验证,如果异步请求中带上了用token生成的session,那你就无法换个有效appid去请求别人的接口。但是那些没有前后端交互的小程序,特别是单机版的小游戏,反编译一个换个appid就可以了,冷门一点的你甚至可以直接提交审核,说不定还会过
比如所有请求参数先排序,然后拼接成a=xxx&b=xxxc=xxx的形式,再md5加密一下生成一串字符串,后台接口也按照这个规则生成一个字符串,通过判断这两个字符串是否相等来验证
直接仿你的所有页面和功能,提供产品核心竞争力,别人是仿不了的
这种问题好像没有讨论的必要
其实是会有的,其实人家不破解你,也可以模仿你的,但自己的数据接口要做好安全规范
我这么说吧,我前段时间刚刚为了找官方一个api,破了人家的包。所以吧,前端也是无奈。你只能尽可能保证。再说,前端技术大家都看得到。你说百度还有淘宝,人家的前端代码你不是一样能得到。没有绝对安全,做好该做的。服务器也不安全。前端还好了,服务器的安全不是大公司都不怎么懂。
毕竟是前端,说获取不到那是假的,网上大把的文章教程反编译,但是上传的时候会进行加密混淆让可读性不那么高。所以一些安全性,重要的逻辑业务最好在后端处理(也应该说必须在后端处理),后端多加层验证层,来判断客户端传入的是否合法,就算别有用心的人扒了你的小程序源码但是接口还是用不了的。
只要你有js,就能反编译,防不住的,这个论坛里就有人发过破解源码的帖子
对待“薅羊毛”的问题一般都是几个方面综合考虑的:
业务上增加人机交互的方式,尽量避免脚本调用的情况,比如:加验证码(图文、动态、滑块等等)的方式,
技术上在接口请求上增加防重放、防参数串改机制;增加用户属性的识别标准,比如通过对羊毛党手机号的号段黑名单过滤等方式、比如接入一些第三方的工具来判断用户是否存在刷单风险;公司如果有能力的话可以建立自己的风控系统,具体的设计可以参考淘宝的防刷的风控系统和京东的风控系统;
“技术上在接口请求上增加防重放、防参数串改机制;”
如果源码泄露的话,这种规则也就没什么的作用了吧?
你的意思应该是,主要还是在业务流程上来限制吧?
源码泄漏毕竟是对一些高级的羊毛党而言的,这种事就是不断增加羊毛党的薅羊毛成本,从而控制这种比例的。技术上还是有其他限制方式的,这种事一般都是两种思想、发生前的风控预防,发生后的补救措施,比如用户拉黑、限制使用等等,多和公司运营的人员讨论,去寻找羊毛党的共性,然后再去做相应的防护和限制。
正在加载...
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
试试能不能扒自己的源码
https://zhuanlan.zhihu.com/p/37667537
把你得接口做好安全防范就可以了
现在有一种操作叫反编译,确实可以拿到小程序源码,一般接口都会加token,这个token来源又是wx.login时得到的,意思就是服务端那边只有原本的小程序能访问,其他的小程序都不行的。反编译得到的源码里没有project.config.json这个配置文件,不用担心appid暴露,所以别人拿到的只是前端代码,有token验证的并不能正常使用。还有一些小程序源码是经过特殊处理的,被反编译后,都不能运行。
谢谢!
如果是反编译的文件里面没有project.config.json这个文件,那么就是说appid不会暴露。
那么,是否存在这种可能:如果拿到除了project.config.json的所有代码文件,那么我是否可以通过其他的任意一个有效的appid把当前的小程序代码,运行起来?
可以的,重新申请一个账号把自己的APPID填进去,然后再在微信后台配置一下requestURL,只要后台接口没有验证,大部分功能都是可以用的(支付除外)
谢谢!
如果后台接口验证的话, 可以采取什么方式来验证呢?
这就要看你反编译的小程序开发者有没有做安全验证,如果异步请求中带上了用token生成的session,那你就无法换个有效appid去请求别人的接口。但是那些没有前后端交互的小程序,特别是单机版的小游戏,反编译一个换个appid就可以了,冷门一点的你甚至可以直接提交审核,说不定还会过
比如所有请求参数先排序,然后拼接成a=xxx&b=xxxc=xxx的形式,再md5加密一下生成一串字符串,后台接口也按照这个规则生成一个字符串,通过判断这两个字符串是否相等来验证
直接仿你的所有页面和功能,提供产品核心竞争力,别人是仿不了的
这种问题好像没有讨论的必要
其实是会有的,其实人家不破解你,也可以模仿你的,但自己的数据接口要做好安全规范
我这么说吧,我前段时间刚刚为了找官方一个api,破了人家的包。所以吧,前端也是无奈。你只能尽可能保证。再说,前端技术大家都看得到。你说百度还有淘宝,人家的前端代码你不是一样能得到。没有绝对安全,做好该做的。服务器也不安全。前端还好了,服务器的安全不是大公司都不怎么懂。
毕竟是前端,说获取不到那是假的,网上大把的文章教程反编译,但是上传的时候会进行加密混淆让可读性不那么高。所以一些安全性,重要的逻辑业务最好在后端处理(也应该说必须在后端处理),后端多加层验证层,来判断客户端传入的是否合法,就算别有用心的人扒了你的小程序源码但是接口还是用不了的。
只要你有js,就能反编译,防不住的,这个论坛里就有人发过破解源码的帖子
对待“薅羊毛”的问题一般都是几个方面综合考虑的:
业务上增加人机交互的方式,尽量避免脚本调用的情况,比如:加验证码(图文、动态、滑块等等)的方式,
技术上在接口请求上增加防重放、防参数串改机制;增加用户属性的识别标准,比如通过对羊毛党手机号的号段黑名单过滤等方式、比如接入一些第三方的工具来判断用户是否存在刷单风险;公司如果有能力的话可以建立自己的风控系统,具体的设计可以参考淘宝的防刷的风控系统和京东的风控系统;
谢谢!
“技术上在接口请求上增加防重放、防参数串改机制;”
如果源码泄露的话,这种规则也就没什么的作用了吧?
你的意思应该是,主要还是在业务流程上来限制吧?
源码泄漏毕竟是对一些高级的羊毛党而言的,这种事就是不断增加羊毛党的薅羊毛成本,从而控制这种比例的。技术上还是有其他限制方式的,这种事一般都是两种思想、发生前的风控预防,发生后的补救措施,比如用户拉黑、限制使用等等,多和公司运营的人员讨论,去寻找羊毛党的共性,然后再去做相应的防护和限制。