CNode

NodeJS如何进行代码保护?

问答
Jjiangbophd发布于7 年前最后回复7 年前15 回复7864 浏览0 收藏

本人想将NodeJS代码部署在别人的服务器上,但是担心源码泄露的问题,于是想是否有办法进行代码保护?还请各位大神指点一二。

查看回复

回复 (15)

Z
zy445566#1·7 年前

项目稍微大一点代码压缩成一个单文件也不算能可读吧,压缩成单文件后,再做一个字符串拆解,转一下就不了事了。 比如

“abc中文” => "a"+ "b"+"c"+"\u4e2d"+"\u6587"

或者

“abc中文” =>decodeURI(atob("YWJjJUU0JUI4JUFEJUU2JTk2JTg3"))

想通过搜索都不可能

V
vanishcode#2·7 年前

防止泄漏、不让别人看:编译型语言✔️ 脚本❌

所以推荐Golang(逃

W
waitingsong#4·7 年前

TypeScript 开发, 然后输出为 ES5 ^_^

Z
zy445566#5·7 年前
引用 YAOHAO9@zy445566 字符串拆解有工具吗

@YAOHAO9 自己写一个个我觉得也不难,正则稍微匹配一下字符串就全部能全部匹配出来,字符串转好,再稍微替换一下不就搞定了

I
im-here#6·7 年前

没用的,再怎么弄都无济于事,毕竟脚本语言,只是被破解的复杂度而已…… 要么核心模块改用cpp封装吧

Y
yakczh#7·7 年前

核心模板用c++重写,curd用js来调用

A
axetroy#8·7 年前

来说下如何增加难度:

  1. 用 ncc 打包源码成为单个 js 文件
  2. 用 pkg 打包单文件成一个可执行文件
  3. 把这个可执行文件打包成 Docker 镜像, 可执行文件放置在某个隐秘的路径,设置好开机启动
  4. 用 Docker 在别人的机器上部署

以后几个步骤基本上都是增加了破解难度,对付一般人够用了。

即便最后被找出 js,也是用 ncc 打包后的 js,没有二次开发的可能

D
DavidCai1993#9·7 年前
Z
zengming00#10·7 年前

在代码里下毒

E
einsqing#11·7 年前

自己build一个node,然后加一个代码解密,这样能实现部分加密。而且不用build成一个可执行文件。可以参考多多客的js7加密方案。

I
i5ting#12·7 年前

安全是个伪命题,如果服务器都攻破了,你再加密又有什么样呢?

A
atian25#13·7 年前
引用 i5ting安全是个伪命题,如果服务器都攻破了,你再加密又有什么样呢?

@i5ting 他们的场景是类似外包那样,部署到客户的服务器上吧

Y
yuedun#14·7 年前

别人是只哪一种人?linux可以设置新用户不允许别人读写(root用户除外)。

H
haishangfeng#15·7 年前

用electron打包如何

参与回复
登录后即可参与回复。登录