如何防止python代码被盗
2022-07-18
# Python
不知道是否会用到,但还是先准备下,以免到时候手忙脚乱找不到。
要防止linux服务器中的python代码被盗,首先要从2点入手:
- 首先关闭ssh密码登陆,改用ssh秘钥登陆。
- 如果依然被攻破,将核心逻辑模块加入绑定MAC地址的判断,并编译为.pyd代码,删除对应的.py源码。
下面来细细地讲讲怎么操作。
关闭ssh密码登陆,改用ssh秘钥登陆的细节请参考 这里。
先上用代码绑定IP和MAC地址的代码。
1 | # -*- coding: utf-8 -*- |
然后把这段代码塞到核心逻辑模块中,最好只用mac地址,因为获取ip需要用到外网request而且很慢。用pip安装 easycython包来编译这个模块为 pyd文件。pyd文件类似于dll文件,是一个编译后的dll,基本无法反编译,比较安全。
首先
1 | pip install easycython |
安装easycython
然后在目录命令行下 对想要被编译的py文件
1 | easycython haizi.py |
然后在当前目录下会生成2个文件haizi.c 和 haizi_XXXXXX.pyd 文件,删除.c和.py文件,然后把pyd文件重命名。这样就可以把这个pyd文件作为一个模块 import到其他文件里使用了。里面一般装一个函数方便调用。这个pyd文件是作为一个模块被import的,但直接运行貌似是不可以的。