我将在服务器计算机中部署我的 web 应用程序 (WAR)。但是,服务器计算机在客户端手中,他们获取数据库转储(以便可以创建新数据),并且可以从 tomcat webapp 目录复制 WAR 文件。操作系统是Windows。如果他们能够复制我的 WAR 并创建数据库,他们就可以在其他地方使用它。我该如何保护这个? JNI?还有别的事吗?如果是 JNI,聪明的方法是什么?
最佳答案
说真的,如果您不能信任运行您的软件的服务器的人员,那么就没有可行的技术解决方案可以防止他们窃取它并在其他地方运行它。
所有已知的技术“修复”(例如混淆、加密类、许可证管理器、“call home”等)只会让坏人变得更加困难。他们都可以相对容易地被击败。 IMO,它们不值得您付出努力以及它们给您和/或您的客户带来的随之而来的技术问题。
您最好的方法是合法的方法:
让您的律师帮助您与客户起草一份契约(Contract),明确禁止他们对您的软件进行逆向工程、修改、以您不想要的方式运行软件等。
让客户同意契约(Contract)。
监控他们正在做的事情(尽你所能),如果他们看起来违反了契约(Contract)......起诉他们。
即使这并不能保证,但它应该会让你的客户重新考虑偷你的东西。
关于java - 服务器机器中的不安全 WAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8264480/