olive1 发表于 2011-9-27 21:12:19

好象不可以防SQL注入

添加新记录时。一些SQL命令和特殊符合还是依然被添加到了数据库中(select,update,')单引号之类的
$this->db->insert('news',$data);

yuzhigang5460 发表于 2011-9-27 22:32:02



$data['field1'] = $this->input->post('field1', true);

这样做依然会被添加进去吗?

jeongee 发表于 2011-9-28 09:02:23

虽然被添加进去了,只不过ci没有提示你说有非法字符去了,注入的效果还是没有达到的

olive1 发表于 2011-9-28 09:29:54

jeongee 发表于 2011-9-28 09:02 static/image/common/back.gif
虽然被添加进去了,只不过ci没有提示你说有非法字符去了,注入的效果还是没有达到的 ...

哦,知道了。是否可以这样理解?
CI过滤了特殊的SQL注入语句,从而防止注入。对于一些特殊字符或命令独立是不起作用的,即保持原样写入数据库。

jeongee 发表于 2011-9-28 09:31:53

olive1 发表于 2011-9-28 09:29 static/image/common/back.gif
哦,知道了。是否可以这样理解?
CI过滤了特殊的SQL注入语句,从而防止注入。对于一些特殊字符或命令独立 ...

是的

a123123 发表于 2011-9-28 14:17:52

:victory:

落叶之影 发表于 2011-10-16 13:30:48

olive1 发表于 2011-9-28 09:29 static/image/common/back.gif
哦,知道了。是否可以这样理解?
CI过滤了特殊的SQL注入语句,从而防止注入。对于一些特殊字符或命令独立 ...

应该就是这样,让SQL语句不生效,如果强行将有SQL语句的内容过滤掉。那如果文章是介绍数据库SQL语句的话,岂不是要被过滤死了?

visvoy 发表于 2011-10-24 22:26:14

对于mysql,ci的ar是用mysql_escape_string()或者mysql_real_escape_string(),这两个函数配合ci的ar是可以彻底杜绝注入的

a123123 发表于 2011-10-26 08:59:37

a123123 发表于 2011-9-28 14:17 static/image/common/back.gif


不知道有这个规定,纯属无意

anjesky 发表于 2011-10-27 20:50:43

不错啊
页: [1] 2
查看完整版本: 好象不可以防SQL注入