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

2024-08-26 22:08:28 +08:00
 grayfox

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

9888 次点击
所在节点    程序员
98 条回复
lambdaq
2024-08-27 11:03:46 +08:00
这个问题很简单啊。你程序跑起来之后,把 .py .pyc 文件全删了就行。
X90
2024-08-27 11:09:27 +08:00
只要你的源码够烂,依赖环境够乱。就算源码丢了别人也跑不起来。
horizon
2024-08-27 11:21:45 +08:00
直接开源,从源头解决问题
codingmiao
2024-08-27 11:22:06 +08:00
其实 java 或者其它编译后的语言也并不安全,现在所谓的 jar 包保密方案,也只是给文件加个密,然后 Java Agent 启动时解密,但是随便丢个 arthas 之类的工具上去,从内存中拿字节码反编译出来根本防不住。

所以哪有什么绝对安全的方案,只要你的软件价值小于别人攻破你的成本就行了
deplives
2024-08-27 11:31:51 +08:00
能直接登到生产服务器上的,是啥都防不住
cutchop
2024-08-27 11:33:18 +08:00
我选择直接开源
iorilu
2024-08-27 11:33:57 +08:00
@BreadKiller 都公司了, 更应该用商务法律得方式解决, 你拷贝我抓到罚钱就是, 怎么可能禁止拷贝
dododada
2024-08-27 11:43:07 +08:00
其实并没有太好的方法,就是混淆加固,但是 python 的加固效果一般,除非你们找个算法变种的论文自己做一遍,上面 24 楼的兄弟说的就是一种办法
uni
2024-08-27 11:44:12 +08:00
其实我很好奇现在有了大模型帮读代码之后混淆还有用吗
iorilu
2024-08-27 11:49:58 +08:00
@dododada 公司之间得破解没啥意义, 说实话, 就算能破解, 你公司敢直接服务器用破解过的吗, 别人查到直接告你, 罚巨款
EndlessMemory
2024-08-27 11:59:27 +08:00
js 有混淆
julyclyde
2024-08-27 12:00:41 +08:00
@yb2313 容器是一个神奇的词么,连加密功能都有?
(虽然后来确实有了,但我相信你说的肯定不是那个)
lyxxxh2
2024-08-27 12:47:30 +08:00
python:nuitka 或者加密源码
nodejs:
在 Node.js 中,将项目打包成二进制文件的常用工具包括 pkg 和 nexe 。这些工具可以将你的 Node.js 应用程序连同其依赖项一起打包成一个可执行文件,方便在目标系统上分发和运行。

1. pkg
pkg 是最常用的工具之一,用于将 Node.js 项目打包成可执行文件。它支持 Windows 、macOS 和 Linux 平台。
... --- gpt
hansnow
2024-08-27 13:40:16 +08:00
跑起来之后把硬盘上的代码删了
iyaozhen
2024-08-27 13:44:49 +08:00
私有化部署并不代表要交代码呀,而且别人服务器有漏洞,被盗走了也不好

确实很麻烦 所以我们喜欢用 go
daysv
2024-08-27 13:54:10 +08:00
编译混淆一下。 再写个 wasm 之类的做哈希校验?
wjx0912
2024-08-27 14:00:23 +08:00
js:bytenode
python:pyarmor
yb2313
2024-08-27 14:05:35 +08:00
@julyclyde 不懂, 我只是凭直觉认为容器应该有这功能, 因为这非常 cooool🎉
zagfai
2024-08-27 14:13:06 +08:00
@hansnow 你以为内存就提取不出来?[doge]
ENNRIaaa
2024-08-27 14:20:19 +08:00
问题的关键是保证源码安全?不应该是把服务器权限做好吗?

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

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

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

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

© 2021 V2EX