javascript - 如何方便、安全地分发脚本?

标签 javascript bash shell security software-distribution

当制作一个脚本(无论是 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/

相关文章:

javascript - 如何使用 Flask 和 jQuery 显示/隐藏回复文本框?

bash - sed 打印一行,其中至少有 3 位数字在第 4 位数字后重复数字

python - 如何在没有 $0 的情况下获取 shellscript 文件名?

bash - Git diff - 忽略重新排序

JavaScript curry : what are the practical applications?

javascript - 如何修复 ReactJS 中的 "too much recursion"错误?

javascript - 带有 window.open 的垂直滚动条

linux - 我的 bash 脚本有问题

regex - Sed 使用正则表达式从文件中删除时间戳

linux - 如何在linux expect的exec命令中执行多个命令