当制作一个脚本(无论是 shell 脚本还是 javascript 模块),供用户通过互联网公开使用时,需要考虑什么?
我发现至少有 2 个相关维度:
- 安装方便:一旦用户获得脚本的副本,就可以尽可能轻松地执行该脚本。这主要与 shell 脚本相关。
- 安全性:如果脚本操纵用户的敏感数据,是否需要采取措施确保其不被篡改?
关于这些维度有哪些好的解决方案,还有哪些其他维度需要考虑?
特别是对于更复杂的 shell 脚本项目,具有多个子级可执行文件和依赖项。
最佳答案
您可以尝试使用SHC加密。 SHC 是一个用 C 语言编写的 shell 脚本编译器。 Shell 脚本编译器 (SHC) 将 Linux shell 脚本直接转换为可执行二进制文件。将 shell 脚本编译为二进制文件可以防止意外更改、源代码修改,并提供一种隐藏用 Linux shell 脚本语言编写的源代码的方法。
语法:
shc -f 随机.sh
将产生两个文件
随机.sh.x
随机数sh.xc
random.sh.x 是二进制格式的加密 shell 脚本
random.sh.x.c 是 random.sh 文件的 C 源代码。编译此 C 源代码以创建上述加密的 random.sh.x 文件。 shc 背后的整个逻辑是将 random.sh shell 脚本转换为 random.sh.x.c C 程序(当然还要编译它以生成 random.sh.x 可执行文件)
您可以将random.sh.x重命名为任意名称,并在使其可执行后运行它
关于javascript - 如何方便、安全地分发脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37147413/