3

我们正在构建一个 Web 表单,它允许(受信任的)用户输入他们自己的 R 查询。他们将对数据库进行统计分析。

问题:

  1. 就其基本形式而言,这有多危险?我是 R 新手,所以 - 他们能做的最糟糕的事情是什么?(假设数据库连接是非特权的)。
  2. 有没有一种简单的方法来清理输入,以消除最大的风险?
  3. 是否有可能将输入净化到我们可以向公众开放的程度?例如,我们不能冒 DOS 攻击的风险。
4

1 回答 1

1

结合上面的评论,以及来自 Josh O'Brien 指出的邮件列表线程的消息。

  1. 非常。system()未受保护的 R 查询可以通过该函数执行其进程可以执行的任何操作。
  2. 从列表中,对 'system' 和 'eval' 的 grepping 查询很有帮助(但有经验的 R 程序员可以轻松绕过)。sandboxR更进一步,增加了额外的安全性。但名单上的专家声称能够轻松绕过这一点。
  3. 到目前为止,它看起来像没有。也许它可以通过白名单来完成(即,提供一个可以的功能列表,并阻止其他一切)。
于 2013-02-06T21:26:51.720 回答