请教大家如何不暴露源代码的情况下,而将网站出售并部署到对方的服务器上?

2014-05-23 09:53:41 +08:00
 fay
公司要将一个Iaas平台以license的形式授权出售给其他公司,是基于Python和Django的,问下V友是否可以不把源码给对方,而做到网站可以运行,pyc可以做到吗?
6716 次点击
所在节点    问与答
21 条回复
thinkif
2014-05-23 10:38:13 +08:00
比如, 核心算法用C之类的语言写
song940
2014-05-23 10:38:16 +08:00
打包到虚拟机里 . 然后提供接口, 让他绑定到 Nginx 上 .
fay
2014-05-23 10:43:52 +08:00
@thinkif 核心的组件的确是用C实现的,只是领导不懂技术,签合同时写明所有代码都不是给源码,所以网站python实现的部分代码还是没办法
fay
2014-05-23 10:47:33 +08:00
@song940 挺好的思路,不过所有的硬件设备都是对方公司提供的,而且使用场景应该是局域网内部使用的
song940
2014-05-23 11:00:56 +08:00
@fay 不冲突啊 , 在他们的服务器上安装 vagrant , 然后你把项目打包成 box 文件 , 到服务器上 vagrant add box app.box , 然后创建一个低权限用户 , 只能修改指定目录下的配置文件 . 取消该用户的密码 . 给你们的客户生成个 Key , 作为 license , 登陆这个虚拟机 .

剩下的 , 自己想吧 ...
fay
2014-05-23 11:07:57 +08:00
@song940 恩,貌似可行,我再细化下解决方案,非常感谢
ericls
2014-05-23 11:16:41 +08:00
直接pyc文件
fay
2014-05-23 11:29:36 +08:00
@ericls 恩,的确是可以,不过@song940 的方法比pyc的更有优势,因为方便我们的维护和调试,也谢谢你
arcas
2014-05-23 11:32:11 +08:00
可以pyc + @song940 的方法.
shiny
2014-05-23 11:35:23 +08:00
@song940 估计文件系统还得加密? vagrant 实际上是个 virtualbox 虚拟机,可以重置 root 密码或者复制出文件来。
Shared
2014-05-23 11:43:25 +08:00
你还可以考虑用 Cython
Tink
2014-05-23 11:46:43 +08:00
@song940 这个方法挺棒的,而且还是多语言通用
wtbhk
2014-05-23 12:08:55 +08:00
咦,python不是可以编译成二进制吗
loading
2014-05-23 12:29:54 +08:00
@song940 能防止本地单用户模式登陆?root权限很容易取得吧!

虚拟机只有 pyc 是必须的
glasslion
2014-05-23 12:38:13 +08:00
@ericls 给pyc还不如给源代码
song940
2014-05-23 12:51:10 +08:00
@shiny 看来文件系统加密是有必要的 .
@loading `本地单用户模式登陆` 问题也是可以解决的.
love
2014-05-23 13:27:31 +08:00
pyc文件反编译出来和源文件真的是没有区别,我试过。

听说用pypy可以真正编译,那个应该就不会有问题了。
bsbgong
2014-05-23 13:36:08 +08:00
好问题,学习了
收藏
loading
2014-05-23 14:51:00 +08:00
@song940 期待分享该方面经验!
dorentus
2014-05-23 16:12:40 +08:00
如果我没记错的话,Github Enterprise 就是用虚拟机镜像(文件系统加密)的形式分发的~

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

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

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

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

© 2021 V2EX