第一次使用 python ,使用 fastapi 开发了一个 web 项目,现在需要对项目进行限制,该如何实现呢? 源码也要部署到对方的机器上,如何防止它修改 license 的限制呢?
第一次使用 python ,使用 fastapi 开发了一个 web 项目,现在需要对项目进行限制,该如何实现呢? 源码也要部署到对方的机器上,如何防止它修改 license 的限制呢?
|
AnsenSep 1, 2023
1
混淆后打包成二进制?
|
|
KingFongSep 1, 2023
2
之前用过 pyarmor 商业化,感觉还可以。
|
|
ioriluSep 1, 2023
3
你提供源码的话 ,没法限制啊
不管你怎么弄, 对方随便找个人改下代码就行 再说了,web 项目很难限制, 有这种需求应该用 go 之类的东西开发 |
|
elechiSep 1, 2023
4
源码都给了,没法限制了
|
|
VegetableSep 1, 2023
5
写点 bug
|
|
6
之前做过相关的方案,使用 [https://github.com/Falldog/pyconcrete]( https://github.com/Falldog/pyconcrete) 加密代码,然后代码里面导入 license ,license 里面写入过期时间、机器码之类的信息,license 使用对称加密之类的算法加密,然后在程序启动的时候解密并且检测 license 有效性。
|
|
JirajineSep 1, 2023 via Android
7
用 nuitka 把业务库编译一下。
|
|
Ct5T66PVR1bW7b2zSep 1, 2023
9
在用 pyarmor ,可以试试
|
|
bianhuiSep 1, 2023
10
给源码就没法限制住了。不用折腾了。
|
|
sunwei0325Sep 1, 2023
11
事先将代码用密钥加密一下, 然后在 sys.meta_path 里面加载的时候解密一下, 关键词: importlib
|
|
AckvincentSep 1, 2023
12
pyarmor +1
|
|
jjxSep 1, 2023
13
部分保护,部分开放
需要保护的部分用 cython 编译 |
|
Mars2333Sep 1, 2023
15
t/969968
这答案不就来了嘛 |
|
flyqieSep 1, 2023
16
先 aes 再 rsa(私加公解), 理论上来说不可能存在伪授权.
至于能不能通过其他手段改密钥破...那就是 cython 的事情了. |
|
ioriluSep 1, 2023
18
@sunwei0325 密钥写在哪里, 总是明文啊
|
|
lanwairen123Sep 2, 2023
19
之前遇到一个加密,是直接修改 Python 主程序代码,植入 openssl 解密模块,解密公钥硬编码到 python 主程序,然后用私钥加密代码。程序运行直接用修改过的 python 程序执行,先解密代码再运行。
|
|
lanwairen123Sep 2, 2023
20
只是为了防止修改 license 的限制的话,把授权信息用私钥加密,程序内置公钥解密,只要私钥不泄露,理论上就可以防止修改 license 限制,但有源码这些限制等于没有
|
|
buffztySep 2, 2023
23
你随便限制 用不了算我输
|
|
SenLiefSep 2, 2023
24
python 天生不适合,还是改用 go 。
要不就不给源码,编译成库,在外面套一层认证服务器。 |