您的位置:首页 > 编程语言 > PHP开发

phpcms只对客户端数据过行过滤,不在数据动作时转义问题与不足

2013-03-28 16:50 225 查看
首先,发现它并不在数据库操作时进行

/**

* 将数组转换为SQL语句

* @param array $where 要生成的数组

* @param string $font 连接串。

*/

final public function sqls($where, $font = ' AND ') {

if (is_array($where)) {

$sql = '';

foreach ($where as $key=>$val) {

$sql .= $sql ? " $font `$key` = '$val' " : " `$key` = '$val'";

}

return $sql;

} else {

return $where;

}

}

这是一种很蠢的做法.如果二次开发人并没有对这步提前了解,那么,它如果手动拼凑出的数据包含特别字符,那么就会导致出错或是漏洞问题.这不会不可能吧?

然后这么做话.就得自己看数据是否原样,如果不是,就得再次对此数据进行转义,这就麻烦了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: