容器化软件如何实现 license 获取和授权

2024-07-26 20:29:47 +08:00
 ljlljl0
小白一个,第一次写 python ,目前后端 fastapi 来做的,打算打包到容器里,但是 license 这块不知道如何去实现,听说 V2 的大佬实力雄厚又帅气特来请教下。
3066 次点击
所在节点    程序员
14 条回复
devliu1
2024-07-26 21:08:59 +08:00
容不容器化有什么区别吗?

--

先把你的业务形态讲清楚?目测是,卖给别人一个基于 Python 服务端程序,部署需要 license ?
ljlljl0
2024-07-26 21:42:50 +08:00
前后端的项目,使用功能要 license 授权才能跑起来。
容器化我怎么获取绑定信息呢,别人买一套,后面以虚拟机方式拿出去卖,无解。
coolfan
2024-07-26 23:14:15 +08:00
和是不是容器化没区别吧。
假设不是容器化,你分发一个二进制文件,别人还是可以到处传拿去卖。
往容器传一个授权码吧,或者再加一个鉴权服务器?
onichandame
2024-07-27 01:39:53 +08:00
通过非对称加密签发 license
ghjh
2024-07-27 08:01:22 +08:00
看你里面的服务能不能连外网吧。能联网都好说一些
lanwairen123
2024-07-27 10:05:11 +08:00
搜索 docker 获取宿主机硬件信息,用 dmidecode 获取宿主机硬件序列号,将硬件序列号和授权功能及授权日期等通过非对称加密算法加密后生成 license 文件,程序内解密验证
ljlljl0
2024-07-27 10:34:49 +08:00
@onichandame 可以
ljlljl0
2024-07-27 10:35:15 +08:00
@lanwairen123 大致思路有了
l4ever
2024-07-27 12:21:19 +08:00
你都用上 python 了, 还怕代码泄露啊?
l4ever
2024-07-27 12:21:48 +08:00
我能看到你的代码, 你既然能验证, 我就能反验证撒.
guanzhangzhang
2024-07-27 13:25:13 +08:00
https://zhangguanzhang.github.io/2023/11/03/non-root-containers/
容器里获取机器码,但是别想这个思路了,信创系统没机器码很正常
koast
2024-07-27 14:47:42 +08:00
还是参考下 mt-photos 的方案?关键逻辑都用 bytenode 弄成 jsc 算法什么的也不调库 自己实现的

把 jsc 反编译成 js 的工具我是没看到开源的 这玩意想调试只能用 d8 来看字节码调 很是麻烦

python 这边你还是 cpython 之类的编译到 native 吧 不然只要有对应的解释器 修改下 pycdc 还是能得到能用的源码的(当然可能不可读 比如用 ast 搞下平坦化之类的)
iorilu
2024-07-27 22:41:35 +08:00
真有这需求还是用 go 或 rust, 直接编译成二进制得

python 本来就不方便加密打包, 你弄个 web 程序更不方便了
ljlljl0
2024-07-27 23:25:35 +08:00
@iorilu 是的 还是得 go

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1060419

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX