重要的核心代码,是不希望被非核心成员,或者新招来的程序接触到的。否则,招个新程序,人家试用期没过,反倒把你代码拷走了,回头想攻击、破解、贩卖,都是分分钟的事儿。这种事儿,我已经见过不止一次了。本文就讲一下,如何去做代码保护。防止核心(底层)代码泄露。
代码保护的基本需求:
1,不影响被防范的成员(比如新程序员)工作。让其能正常运行、调试、查看日志等。
2,对核心代码完全封死,需要保护的部分,完全不可见。绝对透明。
具体做法:
1,首先,先确保架构做了分层。比如我写的架构,一般是分为:
底层(包含通信、数据库、核心算法等等)
逻辑层(实现业务逻辑的代码)。
注意,层内要高内聚,低耦合。
2,找一台服务器(可以是公网服务器)。给每个程序员,建立不同的文件夹,这里以【A程序员】为例:
【coder_A】 文件夹:用于放入A程序员的工程。A程序员,可以修改他有权限的逻辑文件,比如工程下的 logic文件夹 里的所有文件。但是,A程序员无权访问整个工程。实现这个目标,比较简单的,有两个方法:
方法一:使用FTP。简单粗暴,给A程序员一个,可以读写 logic文件夹 的FTP权限。
方法二:使用SVN。稍微复杂,利用SVN的权限功能,A程序员提交 logic文件夹 内的程序,然后在服务器端用SVN命令更新logic文件夹。
【log_A】 文件夹:程序员A的工程,输出的日志,产生到这里。便于查看调试。这个文件夹,A程序可以完全访问。比较简单的方法:
给A程序员一个,可以读写 logic_A 文件夹 的FTP权限。
下图,以新增3个程序员为例:
3,让程序员,在更新之后,可以重启对应的进程(或者其他需要在服务器进行的操作):
方法:做个网页端,在网页端提供操作,比如【重启A程序员的游戏服务】、【重启B程序员的游戏服务】等等。这个网页端里面,很简单,就是查找对应程序员的进程,然后重启。
总结: