请教大家如何不暴露源代码的情况下,而将网站出售并部署到对方的服务器上? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fay
V2EX    问与答

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

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

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

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

    听说用pypy可以真正编译,那个应该就不会有问题了。
    bsbgong
        18
    bsbgong  
       2014-05-23 13:36:08 +08:00
    好问题,学习了
    收藏
    loading
        19
    loading  
       2014-05-23 14:51:00 +08:00
    @song940 期待分享该方面经验!
    dorentus
        20
    dorentus  
       2014-05-23 16:12:40 +08:00
    如果我没记错的话,Github Enterprise 就是用虚拟机镜像(文件系统加密)的形式分发的~
    Comdex
        21
    Comdex  
       2014-05-23 23:08:19 +08:00 via Android
    对于py我想说用golang就不会有这种问题
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3095 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 10:38 PVG 18:38 LAX 02:38 JFK 05:38
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86