java - 如何使我的 Java/Java EE 应用程序的 IP 更安全?

标签 java spring jakarta-ee spring-mvc obfuscation

我们有一个使用 Java/Java EE/Spring 批处理构建的应用程序(例如核心应用程序)。该应用程序包含所有业务逻辑并打包到一个 jar 文件中。

现在,我们有了另一个使用 Spring MVC Hibernate 构建的 Web 应用程序。该 Web 应用程序为用户提供了一个 UI 来配置我们的核心应用程序。该 Web 应用程序使用核心应用程序的 jar 通过引用配置来执行业务任务。现在,我们希望将这些应用程序作为产品分发给各个公司。但众所周知,jars/wars 是可以反编译的。

那么,我们能做些什么来保存我们的IP呢?

目前我们正在尝试 DashO(来自 Preempitve 的 java 混淆器)。即使在混淆之后,人们也可以使用反编译器读取代码。尽管代码阅读起来复杂得多,但业务逻辑是可以读懂的。

保护我们的知识产权的最佳实践是什么?有哪些方法可以使我们的应用程序更加安全?

编辑:请注意,我们必须向客户分发 WAR,这是引起担忧的主要原因。

最佳答案

您是否想保护您的服务器端逻辑或客户端逻辑,或两者兼而有之?

如果是第一个,那么您就已经完成了,因为您无法反编译您无权访问的文件。

如果是第二个,那你就很不走运了。将敏感逻辑从客户端转移到服务器,使客户端只是一个中间人,负责传递用户输入并以漂亮的 UI 格式化服务器输出。这样您就不会在意是否有人看到您无聊的 Web 服务客户端。

关于java - 如何使我的 Java/Java EE 应用程序的 IP 更安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14393568/

相关文章:

java - Spring 安全,jdbcAuthentication

jakarta-ee - EJB 3.1 中的简单例份验证

java - IBM Notes 字段限制,是否可以选择将数据存储为富文本格式?

java - 如何确定 Java 类是否实现了特定接口(interface)

java - 更新期间 hibernate 不刷新

java - 为什么在 lambda 表达式中使用的变量应该是 final 或有效的 final

java - 捕获 OptimisticLockingException 会毁掉数据库事务吗?

java - hibernate框架会改变表结构吗?

jsf - 如何在应用程序名称后隐藏 JSF URL?

java - 将 EJB 注入(inject)动态映射的 servlet