我正致力于为某些数据库表提供REST接口。 我想为客户端提供一种以动态方式获取数据的方法。 e.g。
/客户/ 1234有效=真安培;性别= M&安培;财富&100000&安培; ...
所以我们的想法是让查询字符串尽可能自由。 对于数据库访问,我将收集所有查询参数并将它们附加到SQL where子句并返回响应。
我不确定这里是否存在一个关键问题,我可能会在安全方面失踪。
这是个好主意吗?如果是的话,你知道这样的实现吗,你能指点我吗?
答案 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);
但我会使用经批准的搜索参数制作一个数组,以限制任何注射方法。