【问题标题】:Codeigniter RestFul library Prevent SQL injectionsCodeigniter RestFul 库 防止 SQL 注入
【发布时间】:2012-05-02 07:17:26
【问题描述】:

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

提前致谢。

【问题讨论】:

  • CI中的数据库类有什么问题?

标签: web-services security codeigniter rest sql-injection


【解决方案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 注入问题。)

【讨论】:

  • 选项 2 一直有效。选项 1 可能容易受到多字节字符攻击,具体取决于使用的编码和字符集。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-11
  • 1970-01-01
  • 2011-06-12
  • 1970-01-01
  • 2018-03-23
  • 1970-01-01
相关资源
最近更新 更多