gpt4 book ai didi

javascript - Nashorn/jjs 安全 : executing a user's script on server side

转载 作者:行者123 更新时间:2023-12-02 03:16:50 24 4
gpt4 key购买 nike

我正在编写一个应用程序,用户可以在其中提供自定义 JavaScript 函数来使用 nashorn/jjs 过滤服务器端的文件:

cat /etc/js/library.js user.js > tmp.js && 
cat /path/to/input.txt | jjs --language=es6 -doe -J-Djava.security.manager tmp.js > /path/to/output.txt &&
rm tmp.js

我知道用户可以编写一个无限循环来填充我的磁盘:

for(;;) print("#####);

但是-J-Djava.security.manager足以阻止他在文件系统上读/写文件吗?

谢谢。

最佳答案

你是对的。一旦你设置了java安全管理器,你的脚本就会被“沙箱化”。除非您编写明确的安全策略来向特定脚本授予特定权限,否则只会向脚本授予沙箱权限。您可以安全地运行不安全的脚本。要向特定脚本授予特定权限,您需要从受信任的 URL 加载脚本并在安全策略中使用这些 URL:

另请参阅:https://wiki.openjdk.java.net/display/Nashorn/Nashorn+script+security+permissions

关于javascript - Nashorn/jjs 安全 : executing a user's script on server side,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40177810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com