在安全过滤有个问题

#1 子非鱼

在手册中,有这样一段话


数组形式将被自动过滤                $rows = array(                        'name' => "'jake'",                        'contents' => "大家好 AND 1=1",                );                $result = spClass('guestbook')->findAll($rows);                echo spClass('guestbook')->dumpSql();输出:SELECT * FROM guestbook WHERE name = ''jake'' AND contents = '大家好 AND 1=1'
从上面代码可以看到findAll会自动将$rows数组内容,过滤成SQL语句可以接受的字符串。


一般而言,安全过滤是在SpeedPHP框架中默认存在的,所以只在以下情况下,需要手动来过滤

  • 存在提交参数来需要进行数据库查找或插入、更新、删除数据。
  • 只能用数组形式的条件。

我想问下,红色这里,是不是矛盾了,我不能理解,这段话是说,数组形式是会自动过滤,还是手动过滤?



2013-03-18 12:06:28

#2 anythink

显然数组是会自动过滤的!~ 自己写的sql需要自己过滤

2013-03-18 12:12:52

#3 jake

是“不能用数组形式的条件”,CHM手册有问题。

在线手册:http://www.speedphp.com/thread-3768-1-1.html

CHM手册会修改。

2013-03-18 12:13:48

#4 子非鱼

anythink 发表于 2013-3-18 12:12
显然数组是会自动过滤的!~ 自己写的sql需要自己过滤
谢谢,明白了

2013-03-18 12:15:49

#5 子非鱼

jake 发表于 2013-3-18 12:13
是“不能用数组形式的条件”,CHM手册有问题。

在线手册:http://www.speedphp.com/thread-3768-1-1.html
谢谢,
在学习SPEEDPHP过程中,对我启发很大,很谢谢你开发了这个框架,也很感谢你无私的奉献,我有发现错误的地方就发给你验证,希望你能做得更好,帮助到更多的人

2013-03-18 22:43:51

#6 jake

子非鱼 发表于 2013-3-18 22:43
谢谢,
在学习SPEEDPHP过程中,对我启发很大,很谢谢你开发了这个框架,也很感谢你无私的奉献,我有发现 ...
{:soso_e181:} 谢谢。我也很希望框架和手册等等都能更完善和对大家有所帮助

2013-03-18 23:28:33