代码之家  ›  专栏  ›  技术社区  ›  Doug Molineux

从PHP框架转义MySQL中的字符

  •  0
  • Doug Molineux  · 技术社区  · 16 年前

    我想知道,当在Codeigniter中使用数据库库时,是否有一种方法可以自动逃逸所有输入以防止注入。我知道我可以使用mysql_real_escape_string()来完成这项工作,但我想知道这已经被设置为自动完成这项工作了,如果不是的话,有没有包含这项工作的框架呢?

    谢谢!

    3 回复  |  直到 16 年前
        1
  •  2
  •   akira_x    16 年前

    为了使用准备好的语句,您可以简单地将查询绑定与CodeIgniter一起使用。

    $query = 'SELECT id, name FROM user WHERE name = ?';
    $bind = array('Jake');
    $this->db->query($query, $bind);
    

    More info found here.

        2
  •  1
  •   woodscreative    16 年前

    CakePHP通过它自己的方法运行所有模型查询,如果您使用模型方法,它会自动为您清理传递给查询的任何数据。即

    $options['conditions'] = array('Product.status'=>$status);
    $this->Product->find('first',$options);
    
        3
  •  1
  •   deceze    16 年前

    对,漂亮 much all frameworks 实现任何类型的数据库抽象/ORM层的 mysql_real_espace Propel 或 Doctrine . 或者,调查一下 prepared statements

    推荐文章