现在项目开发完以后,打成 jar 包,要放到客户的内网服务器运行,但是客户那边也有技术团队,现在我们的收益就是按部署服务器来算钱的,所以一定要避免在一台服务器上部署完以后,他们拿着 jar 包去其他服务器部署。 这个有没有比较好的方案可以控制一下? 我想的是在代码里控制指定 ip 才能运行 ,部署的时候先问他们要过来服务器 ip
1
zhaokun 2021-12-17 09:42:40 +08:00
jar 包都给人家了,还有啥秘密
|
2
ljhrot 2021-12-17 09:45:43 +08:00 4
内网服务器本身的 IP 地址是可以变动的(可以重复的),或者客户直接在容器环境运行并指定 IP 该怎么处理?
为什么不通过服务器的硬件信息( CPU UUID 等)生成机器码,你们给机器码生成授权许可文件,客户把授权许可文件安装到服务器上面,你们的服务启动之后检测机器码和授权许可是否一致然后判断是否应该正常运行。就算客户把服务器运行 Docker 这样的容器也可以通过参数配置特权模式获取到宿主机的硬件信息 |
3
moremoney 2021-12-17 09:56:46 +08:00
开发的软件产品在交付使用的时候,往往有一段时间的试用期,这期间我们不希望自己的代码被客户二次拷贝,这个时候 license 就派上用场了,license 的功能包括设定有效期、绑定 ip 、绑定 mac 等。授权方直接生成一个 license 给使用方使用,如果需要延长试用期,也只需要重新生成一份 license 即可,无需手动修改源代码。
|
4
moremoney 2021-12-17 10:05:07 +08:00
虎虎
|
5
moremoney 2021-12-17 10:06:07 +08:00
TrueLicense 是一个开源的证书管理引擎,详细介绍见 truelicense.java.net
|
6
cedoo22 2021-12-17 10:23:39 +08:00
硬件设备信息,加 license , 用 jni 整个不容易反编译的程序,做 license 验证,否则反编译一下就出来了。
|
8
msg7086 2021-12-17 11:34:32 +08:00 via Android
服务器内网 IP ?那多搞几个同 IP 的服务器不就得了。
|
9
HelloWorld556 2021-12-17 11:36:28 +08:00
加密狗
|
10
xiaowujava 2021-12-17 19:45:24 +08:00
与当前机器 mac 地址比对,不是设定的就直接销毁源代码
|