用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2721|回复: 1
收起左侧

请问关于防止sql注入,是不是$this->db->where ( ‘titile’, $valu...

[复制链接]
发表于 2013-9-28 20:37:23 | 显示全部楼层 |阅读模式
PHP复制代码
 
$this->db->where ( ‘titile’, $value  );
$this->db->where ( ‘titile’, $this->db->escape($value)  );
$this->db->where ( ‘titile’, $this->db->escape_like_str($value)  );
 
复制代码


看手册有这三种。先不说其他广义的防注入。 只是用来 拒绝用户输入的 1' or 1=1  之类的方式。
我看手册有这么一句Active Record的查询都已被自动保护  
我想请问。 是不是Active Record在保护表明字段名的时候。 已经进行了查询条件的转义呢?

在请问。 如果我现在就在 AR的查询数据中。

这三条是否一样?

是否可以理解为,当程序不使用AR的数据操作时, 对查询条件使用  escape、escape_like_str 进行一种防注入保护?

我实际测试了下, 发现 Active Record 的情况下。确实是我说的。但是我想请熟悉的朋友 给一个准确的答复。谢谢~
发表于 2013-10-9 10:56:35 | 显示全部楼层
ar是安全的。但是没有跨站攻击检测。非ar得手动过滤。其实自己试一试。什么都看出来了..

本版积分规则