通过HTTP对数据库进行自由格式查询

时间:2011-07-28 06:18:51

标签: database hibernate rest jpa

我正致力于为某些数据库表提供REST接口。 我想为客户端提供一种以动态方式获取数据的方法。 e.g。

/客户/ 1234有效=真安培;性别= M&安培;财富&100000&安培; ...

所以我们的想法是让查询字符串尽可能自由。 对于数据库访问,我将收集所有查询参数并将它们附加到SQL where子句并返回响应。

我不确定这里是否存在一个关键问题,我可能会在安全方面失踪。

这是个好主意吗?如果是的话,你知道这样的实现吗,你能指点我吗?

2 个答案:

答案 0 :(得分:0)

  

我不确定这里是否存在一个我可能会遗漏的关键问题   可能与安全有关。

一个关键问题是防止ffrom SQL注入。简短阅读here

答案 1 :(得分:0)

好主意与否完全取决于数据库所拥有的信息类型。用户帐户:no / Pizza parlors:是的。

您可以在php中执行以下操作:

Foreach ($_GET as $key => $value) {
$clauses[] = $key.' = "'.$value.'"';
}

$query = mysql_query('select * from pizza_parlors where '.explode(' and ',$clauses);

但我会使用经批准的搜索参数制作一个数组,以限制任何注射方法。