如何保护网站源代码? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tang8888
V2EX    问与答

如何保护网站源代码?

  •  
  • /li>
  •   tang8888 2014 年 10 月 15 日 5464 次点击
    这是一个创建于 4120 天前的主题,其中的信息可能已经有所发展或是发生改变。
    jsp的源代码可反编译出来,C#的也可以,PHP等各种动态语言的更是明文直接可读。如果网站被黑客攻入,源代码文件被Down走,一句话,发布在主机上的项目,怎么保证源代码的安全性。
    33 条回复    2014-10-16 10:21:56 +08:00
    hjc4869
        1
    hjc4869  
       2014 年 10 月 15 日
    真担心到这个程度啊。。
    代码好好混淆即可……前端后端都要好好混淆。。
    typcn
        2
    typcn  
       2014 年 10 月 15 日
    。。。又不是卖给别人。。。
    bydmm
        3
    bydmm  
       2014 年 10 月 15 日
    我出个作死的主意, 把网站关键核心代码封装成C++mod, 然后就算被人把网站脱下来,也无法运行。
    lyragosa
        4
    lyragosa  
       2014 年 10 月 15 日
    我也不知道。

    所以没管,
    em70
        5
    em70  
       2014 年 10 月 15 日 via Android   1
    为了防小偷,把门堵了,出门爬窗
    scarlex
        6
    scarlex  
       2014 年 10 月 15 日
    @hjc4869 一般后端怎么混淆?
    lecher
        7
    lecher  
       2014 年 10 月 15 日
    我几个好办法。不靠谱程度依次增加。
    1.别用什么动态脚步语言了,全都是明文可读。改用静态编译的保险,什么c、c++、go之类的,你把代码build成个可执行文件,他拷回去也没办法处理
    2.动态脚本语言非要用也可以,你就把代码做分布式部署好了,一台服务器一个模块,执行的时候通通用网络通信来传递消息,还可以顺道练习各种请求队列和异步执行的处理,即提高技术水平又增加代码安全性。
    3.要嫌不够安全还有一招,内存加载大法,所有执行的代码,你用个额外的监控程序处理,监控程序从多台远程网络请求代码过来再拼接,然后加载到内存里扔着执行。

    这样总够安全了吧。实在觉得不安全。还有神一般的人肉监控啊,你24小时在服务器上面盯着,一旦发现服务器有其它ip登入,马上执行shutdown命令关机,保证黑客无法攻入。
    tang8888
        8
    tang8888  
    OP
       2014 年 10 月 15 日
    关键怕同行得到源码后,立即山寨出一个类似的网站来,这样业务就跑了。
    xdeng
        9
    xdeng  
       2014 年 10 月 15 日
    你需要 golang
    coolzjy
        10
    coolzjy  
       2014 年 10 月 15 日
    @tang8888 Google 都能被山寨出来,不知道你的是什么伟大项目
    Comdex
        11
    Comdex  
       2014 年 10 月 15 日
    用golang不怕
    hjc4869
        12
    hjc4869  
       2014 年 10 月 15 日
    @scarlex 如果是.Net(C#)的话工具很多,dotfuscator应该可以(虽说这个比较简单)。。其他的我没搞过实质性的开发所以我也不清楚。
    shiny
        13
    shiny  
    PRO
       2014 年 10 月 15 日
    想起了这个: https://gist.github.com/nikcub/3833406
    但是那又如何……
    webjin
        14
    webjin  
       2014 年 10 月 15 日
    @bydmm 求方法文档
    tang8888
        15
    tang8888  
    OP
       2014 年 10 月 15 日
    golang太难了,我学不会。学会了也做不出好项目。
    daxingplay
        16
    daxingplay  
       2014 年 10 月 15 日   1
    除非有很高深的算法吧,否则一般网站,不用看源码,不也是很快就可以山寨出来了么?
    msg7086
        17
    msg7086  
       2014 年 10 月 15 日 via iPhone
    连服务器安全都做不好的公司还担心代码的价值?
    hadoop
        18
    hadoop  
       2014 年 10 月 15 日
    代码写差点,就行了
    cdxem713
        19
    cdxem713  
       2014 年 10 月 15 日
    1、类似google网页这样做个混淆,应该能防住一些人,不过维护起来应该会很麻烦
    2、把重要功能的实现放在后端
    aszxqw
        20
    aszxqw  
       2014 年 10 月 15 日
    @tang8888 居然有人说 golang 难。。。。。。。
    tang8888
        21
    tang8888  
    OP
       2014 年 10 月 15 日
    单个页面你也许看下页面外观就能山寨出来。但是整个系统呢,比如wordpress discuz?
    lygmqkl
        22
    lygmqkl  
       2014 年 10 月 15 日
    服务器被攻陷了就什么都不要说了。 程序是小,数据是大
    tang8888
        23
    tang8888  
    OP
       2014 年 10 月 15 日
    如何防止vps或主机提供商监守自盗,偷我们的系统源码和数据呢。
    linchanx
        24
    linchanx  
       2014 年 10 月 15 日
    楼主真心想多了,如果你的站做到了一定的级别,即便代码外泄也不会影响到你的用户数,比如QQ就算它源代码全泄露了会影响它的用户数吗?如果你的网站真的做的很好就算不外泄代码,就像wordpress,discuz,大公司copy还不是分分钟的事情,BAT中随便一家都能copy出一个完整的discuz,只不过没那意义罢了。
    raincious
        25
    raincious  
       2014 年 10 月 15 日
    @shiny

    没人想吐槽这个代码写得很糟糕的么?至少看起来很糟糕。怎么不是MVC的……
    icanfork
        26
    icanfork  
       2014 年 10 月 15 日
    混淆式编程
    zkd8907
        27
    zkd8907  
       2014 年 10 月 15 日
    .net的话,混淆以后可靠性还是比较高的。
    Tink
        28
    Tink  
    PRO
       2014 年 10 月 15 日 via iPhone
    确实,自己网站做好才是硬道理,不用担心被copy
    wwqgtxx
        29
    wwqgtxx  
       2014 年 10 月 15 日 via Android
    @raincious 又不是不用mvc就是很差的网站……只要能写得好,怎么样都行
    lhbc
        30
    lhbc  
       2014 年 10 月 15 日 via iPhone
    楼主你真想多了
    这跟“一切准备就绪,就差个程序员”是一样的
    fising
        31
    fising  
       2014 年 10 月 15 日
    PHP可以用zend guard加密。
    也可以用编译型语言。

    加密了其实没多大用。
    dndx
        32
    dndx  
       2014 年 10 月 15 日 via iPhone
    没用,真正靠谱的方法只有一个,SaaS。
    jacob
        33
    jacob  
       2014 年 10 月 16 日 via iPhone
    我感觉过虑了,人家想山寨你是挡不住的。而且,就算山寨还不一定就用你的代码,
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3430 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 04:57 PVG 12:57 LAX 20:57 JFK 23:57
    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