1

我正在使用 codeigniter philsturgeon Restful 库来开发 Web 服务。那么如何防止来自 Web 服务的 SQL 注入呢?codeigniter 中是否有任何库可以防止来自 RESTful Web 服务的 SQL 注入?

提前致谢。

4

1 回答 1

1

您可以通过以下方式防止 SQL 注入:

  1. 转义您注入 SQL 查询的任何文字值;
  2. (更好)使用不需要您将文字值注入 SQL 查询的数据库接口,例如参数化查询。

CodeIgniter 的数据库库为您提供了这两个:

  1. $this->db->query('SELECT x FROM y WHERE z='.$this->db->escape('value1'));
  2. (更好)$this->db->query('SELECT x FROM y WHERE z=?', array('value1'));

(不要误以为可以通过输入清理正确解决 SQL 注入问题。)

于 2012-05-02T08:24:36.237 回答