从Web用户清理R查询

时间:2013-02-06 09:40:46

标签: database r web-applications sanitization

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

问题:

  1. 这个基本形式有多危险?我是R的新手,所以 - 他们能做的最糟糕的事情是什么? (假设数据库连接没有特权)。
  2. 是否有一种简单的方法可以消除输入,消除最大的风险?
  3. 是否可以对输入进行消毒,以便我们可以向公众开放?例如,我们不能冒DOS攻击的风险。

1 个答案:

答案 0 :(得分:1)

结合上面的评论,加上Josh O'Brien指出的邮件列表线程中的消息。

  1. 非常。不受保护的R查询可以通过system()函数执行其进程可以执行的任何操作。
  2. 从列表中,对'system'和'eval'进行grepping查询是有帮助的(但经验丰富的R程序员可以很容易地避开)。 sandboxR更进一步,增加了额外的安全性。但名单上的专家声称能够轻易绕过这一点。
  3. 到目前为止,它看起来没有。也许它可以通过白名单来完成(即,提供一个好的功能列表,并阻止其他所有功能)。
相关问题