像 js(node)、 Python 作为服务端部署到生产环境,怎么保证源码的安全性的?

75 天前
 grayfox

最近在学 node ,写完以后部署到生产环境,如果不经过像 java 那样编译,那么只要有登陆到生产服务器的权限,就直接拿到源码吗?不太懂这块,主流做法是怎么做的?

7700 次点击
所在节点    程序员
98 条回复
dj721xHiAvbL11n0
74 天前
@0o0O0o0O0o 人家问要怎么做,你跟人家说这件事要做,就是不说怎么做
notejava
74 天前
node 不清楚,Python 我知道可以用 Pyarmor ,支持跨平台编译
xuanbg
74 天前
有一说一,放在服务器上的代码都不值钱,就算直接给你源码都没用。真正值钱的代码人家都编译成一个可执行程序直接给你,你要是破解它,人家能把你告到倾家荡产。所以人家也不怕你破解。
WeaponXu
74 天前
说一个实际接触到的商用场景,乙方交付工程给我们使用,部署在我们给定的机器上,但是源码并没有售卖给我们。乙方使用了自定义 Python 解释器+源码混淆加密的手段保护自己的源码。可以运行,但是逆向难度极大。
ruobingm
74 天前
应该是防同事吧,防新来的?既然这样服务器权限干脆别给。。
0o0O0o0O0o
74 天前
@x2420390517 #21 我指出我觉得 OP 理解有误的地方(**主流的部署在服务器上的**编译后的 java 项目并不比打包后的 node 项目保护强度高),并给我觉得更合理的方案(堡垒机用于授权监察审计),请问有什么问题吗?真顺着 OP 的思路去探讨不适合这个场景的混淆加固方案吗?不是我不会,是我觉得不合适。
Gotchaaa
74 天前
@x2420390517 你这纯杠了,人家这个回答清清楚楚的表达出「 OP 可能是源码部署,但是实际事情是有解决方案的,只是没喂到嘴里」
yhxx
74 天前
@jianchang512

“这场景似乎只在预防一种人:可以给他服务器权限但不想让他看到或复制源码”

有这样的场景的,比如你提供的是一个语雀这样的服务,客户要求私有部署,你又不想让他看到源码
Baloneo
74 天前
python 可以打包成 so 部署
zhtyytg
74 天前
都有自己的编译方式,同时也有对应的反编译方式。学过逆向的都知道,道高一尺魔高一丈,只能拉高门槛,根治是不现实的。
BG7ZAG
74 天前
都进服务器了,谁还要源码啊,直接 clone 数据库了~
iorilu
74 天前
人家能进服务器
看不看源码重要吗

惹毛了给你 rm -rf 都干了
jianng
74 天前
我们用 bytenode ,编译环境和实际运行环境的 node 版本要一致。
BreadKiller
74 天前
私有化部署下是常见的需求:甲方要求服务部署在他们自己的服务器上,服务由乙方部署,因为服务器是在甲方手上,为了保护服务不被甲方自行破解或者拷贝滥用,乙方会对服务进行混淆甚至加密,以防止服务被修改或者拷贝
RangerWolf
74 天前
我服了很多人的逻辑。。。。 戾气极重
没有好的解决方案就看看不行么。。。
BreadKiller
74 天前
nodejs 的话,一般会使用混淆+编译为二进制文件 bytenode, node18 之后开始原生有 Single executable applications 的相关接口
jonsmith
74 天前
动态脚本是这样,不用编译直接运行。代码篡改是服务器安全问题,不是代码问题。
tyc
74 天前
@RangerWolf 中国人就是这样的
djasdjds
74 天前
@darksword21 #9 这垃圾玩意没人用的
darksword21
74 天前
@djasdjds 那用什么,我不熟悉 python 相关的东西,我这里是要部署到客户提供的机器上

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

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

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

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

© 2021 V2EX