博主在寻找开源小程序代码时发现,非商用代码存在前端代码无法更改、后端关键代码混淆加密、后端代码可能通过第三方地址检测商用等问题,提醒开发者尊重他人劳动成果,不要尝试商用非商用代码。
此内容根据文章生成,不代表个人观点,仅用于文章内容的解释与总结
前几天,有人找博主想做一个类似陪玩的商用小程序。博主的第一反应就是寻找一个合适的开源小程序二改一下。毕竟,定制化的开发费时费力不说,而且成本过高。对方的需求也有很多不明确的地方。因此,找个开源的先搭建出来让对方看下是否符合要求是最好的方案。
作为开发者,有一句话想必都是耳熟能详的:客户不知道自己想要什么,但是你只要做出来,客户就肯定知道自己不想要的是什么。
所以,对于这类很多还是含糊其辞的不定性开发需求,博主都是尽量寻找符合其要求的源码来搭建成品,看效果。
综上所述,博主寻找到了一款陪玩的开源代码,下载了下来并尝试搭建。
1.搭建流程
这个代码的技术栈用的tp框架,客服端是适配公众网的网页,并不是小程序端。不过博主看着它的搭建流程相对简单,而且各功能模块都比较直观。没准刚好可以起到抛砖引玉的效果,可以引出用户的真实需求呢。
但是真正说起搭建流程,确还是发现了几个坑。博主先是通过宝塔建站,然后将代码上传,根据搭建说的教程配置好TP伪静态和nginx代理。
然后访问站点域名进行安装,至此一切都很顺利。后台管理很快就弄好了。
最后,麻烦的事来了,客户端的是基于公众号网页的。所以需要:备案的域名,ssl证书,后台要进行对应的公众号的appid及秘钥配置,开发者绑定,IP白名单绑定等。当把这些细枝末节一一排查处理完之后。博主满怀信心的在开发者工具打开了页面。情理之中的意料之外报错了,博主悬着的那颗心终于死了。
2.源码的坑
拜托,你可是一个成熟的开源代码,你怎么能半路撂挑子啊。死码 ,快跑起来啊~
好不容易走到这一步,怎可轻言放弃。对于php,博主也算是略知一二。决定自己亲自上阵。通过对源码的排查来寻找报错原因。
排查源码后发现,好家伙。功能性方法代码是混淆加密的。改不动。就问你惊不惊喜?刺不刺激?能理解,毕竟源码也说了仅供学习交流,禁止商用。为了防止商用,加个密也在情理之中吧?
一计不成,博主心生一计。通过宝塔的错误日志排查到了问题所在:已废弃的花括号 {} 访问字符串偏移量 万幸这个方法不是混淆的
改完之后,奔跑吧~
正如博主前面所言,该源码的客户端是基于网页公众号使用的。所以需要调用一些公众号的授权接口。这里因为博主只有一个订阅号,没有该接口权限。所以~无解!!
3.非商用代码的“套路”
虽然项目没完整跑起来,但是博主倒也不算全无收获。发现了这套代码有几个围绕“禁止商用”做的一些“套路”。
问题1:前端代码是框架编译后的代码,无法更改。客户端的代码你改不动。
问题2:后端关键功能性代码也是混淆加密的,后端接口代码你也改不动。
问题3:后端代码中多处使用file_get_contents方法请求到了某个第三方地址,怀疑对方可能会通过这个地址来检测你的请求来源和判断是否在商用,并且可能通过这个请求返回能中断你的后端服务。这点就有点恐怖了。
所以,对于那些表明禁止商用,仅供学习交流的开源代码。各位还是要抱着敬畏之心。尊重他人劳动成果
在哪搞的副业呀OωO
不是副业
如果只是人家服务监听你是否商用还好,有的要是埋后门,那就更恐怖了
对,而且各种都有限制,很难二开
还有这骚操作呢?也大概是我不愿意用现场框架的原因,首先技术有限,再一个代码风格不一样,改起来挺难受的
这种不能说开源,应该叫“伪开源”