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;
}
}
这是一种很蠢的做法.如果二次开发人并没有对这步提前了解,那么,它如果手动拼凑出的数据包含特别字符,那么就会导致出错或是漏洞问题.这不会不可能吧?
然后这么做话.就得自己看数据是否原样,如果不是,就得再次对此数据进行转义,这就麻烦了.
/**
* 将数组转换为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;
}
}
这是一种很蠢的做法.如果二次开发人并没有对这步提前了解,那么,它如果手动拼凑出的数据包含特别字符,那么就会导致出错或是漏洞问题.这不会不可能吧?
然后这么做话.就得自己看数据是否原样,如果不是,就得再次对此数据进行转义,这就麻烦了.
相关文章推荐
- 关于android客户端访问网络数据的问题
- Discuz 解决最新回覆数据调用的问题(过滤没有回复的帖子)
- 关于脏字典过滤问题-用正则表达式来过滤脏数据
- Socket发完消息后,立即关闭连接,客户端丢失数据的问题
- PHP在mysql中的数据转义问题
- PHP引号转义中解决POST,GET,Mysql数据自动转义问题
- 用Socket的接受数据线程来捕获所连客户端的掉线问题
- asp.net 脏字典过滤问题 用正则表达式来过滤脏数据
- 解决ftp客户端 建立数据socket 失败问题
- 关于客户端与服务器ajax使用json数据交互,出现中文乱码或因包含html标答而报错的问题(base64加密)
- 客户端获取服务器数据中文乱码问题
- 由一个论坛帖子, 解决udp 服务器无法返回数据给第一个客户端的问题
- 服务器获得客户端提交的数据及中文乱码问题
- 关于spark读取elasticsearch中数据,但是无法实现过滤数据的问题
- 在jsp中拼xml格式数据问题:XML 解析错误:XML 或文本声明不在实体的开头
- 解决ftp客户端 建立数据socket 失败问题
- JavaEE中用response向客户端输出中文数据乱码问题分析
- PHP引号转义中解决POST,GET,Mysql数据自动转义问题
- 关于IOCP WSASend发送数据到客户端 出现LastError 为6的问题。。折腾我半天啊!
- SingleColumnValueFilter 过滤数据时候,返回的数据不正常问题