php是一种解释型语言,不需要编译。对于php编写的产品,如果源代码需要直接安装在客户的运行环境中,会存在很大的安全隐患。客户甚至可以直接部署或销售您的产品。我们公司目前正面临这个问题。1、使用zendguardZendGuard不仅可以实现对PHP应用脚本的加密保护和对PHP应用产品的商业许可管理,还可以为众多软件厂商和IT服务商发布系统提供完善的加密和安全产品。(摘自百度百科)zendguard虽然可以增加一定的安全性,但是网上的zendguard解码工具很多,zendguard只能做最基本的防护。2.php扩展的开发php是用C语言实现的,php流行的原因之一是大量的开发者通过扩展来实现大量的常用功能,供一般社区的开发者使用。php扩展开发的意义和好处,鸟哥在他的博客中也有说明:用C/C++扩展你的PHP3,分析公司的产品做php扩展开发,你首先需要有很好的C/C++基础,还需要熟悉php扩展API。有一定的技术门槛。同样,对于以PHP为主要技术栈的初创公司来说,需要考虑技术和时间成本。php扩展优点:产品安全性和隐私性好,系统性能高php扩展缺点:开发效率低php的优点之一就是开发效率高,需要选择系统合适的模块进行扩展。维护成本越高,扩展的模块越多,需要团队中更多的人同时熟悉C和PHP,人力成本也会增加。同时,由于扩展需要编译,调试和bug修复的成本也会增加。通过讨论和分析我们目前的产品情况,如图:思路:我们的首要目标是保证产品系统的隐私性,即我们会在扩展中验证一些用户信息和权限。同时,为了保证用户无法绕过我们的验证,插件中的功能是系统需要的。如果用户需要重写,代价会很大。A。一开始讨论的时候大家的意见都是建议尽量少改代码,扩大入口。但是我们现在的系统是基于yii开发的。如果你改变了yii框架中的入口内容,这并不能解决问题:1.对于熟悉yii框架的开发者来说,他很容易绕过你的扩展内容。2、不要使用Yii框架的后续升级。b.第二个选项是扩展配置文件。第一反应是把配置文件放到扩展里。如果删除扩展,系统将无法正常工作。但是仔细考虑后发现,无论配置信息是在本地加密,还是通过扩展远程获取,最后通过调试,都可以在程序中获取配置的具体信息,这样就可以直接绕过我们的分机,就是我们学校。测试无效。C。最后,我们决定扩充基础服务部分的内容。这样既不会影响易变的业务逻辑的开发效率,又增加了系统的隐私性和基础服务的效率。扩展服务越多,用户需要破解覆盖的功能就越多,用户的开发成本就越大。
