该公司创建了一个云解决方案,但一些客户要求将应用程序托管在他们的基础设施上,这可能会导致一些严重的安全威胁,例如反编译代码。Web 应用程序使用动态框架,例如 spring、JPA、struts、DWR,这使得混淆变得非常困难(我尝试使用 Proguard)。
混淆是唯一的解决方案吗?它甚至值得吗?任何意见都会有所帮助。
该公司创建了一个云解决方案,但一些客户要求将应用程序托管在他们的基础设施上,这可能会导致一些严重的安全威胁,例如反编译代码。Web 应用程序使用动态框架,例如 spring、JPA、struts、DWR,这使得混淆变得非常困难(我尝试使用 Proguard)。
混淆是唯一的解决方案吗?它甚至值得吗?任何意见都会有所帮助。
最简单(也是相当标准)的事情是使其成为许可协议的一部分,他们可能不会进行逆向工程或以其他方式弄乱您的软件。这假设您信任您的业务合作伙伴会遵守合同(有人可能会争辩说这是与他们开展业务的先决条件)。
混淆是唯一的解决方案吗?它甚至值得吗?
如果您不能信任他们,您可以拒绝将代码部署给客户。
如果有必要以这种方式对待您的客户,则由您决定。我会假设他们有比试图扯掉你更好的事情要做。但是,如果您对此非常担心,那么纯 ASP 模型(代码永远不会离开您的服务器)似乎是您唯一的解决方案。
作为替代方案,您可以按照在虚拟机文件中部署应用程序有哪些问题中的建议,以封闭虚拟设备的形式部署您的服务?