问题描述
这个问题的重点是 R plumber
包,但是,它本身可能很有趣/有用。
我正在处理非常简单的 plumber
API 调用,例如,
function(key) {
tryCatch({
if(key == "ABCD"){system('./script.sh',intern = T)}
},error = function(e){return(NULL)})
}
在收到特定的 REST 调用后,它将执行 script.sh
具有超级用户权限。目前,我们的想法是在内部使用此脚本 - 本质上,单击按钮将调用具有特定键的调用。
然而,由于代码将在提升的权限下调用,我的问题是这个——当指定一个函数以这样的自由输入参数执行时,我如何确保脚本将只执行指定的内容,仅此而已?
我不精通 R 代码注入,但是否有任何已知的方法来保护 key
值,例如 ABCD\") system('...'); #
或类似值(这只是一个不好的例子,但我认为可以存在一些已知的漏洞)?
或者在这种情况下,base R 是否足够安全?
附注:目前此类代码仅在内部使用,但是,即使在受控环境中,我也不会像这样保持开放的高级访问权限。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)