DEDECMSV3 文件代码流程功能分析-DedeCms

DEDECMSV3 文件代码流程功能分析(3),希望有助于dedecms整合,扩展dede很多时候用dede_后面加表,好处是,大家可以安装时,定义自己的表的前缀,这样安全性提高了,那么,dede_,dede是怎么处理的,很轻易想到,在mysql类库处理里面替换dede_为表的前缀,关于dede_替换过程:首先找到的是./include/pub_db_mysql.php行252 有function SetQuery($sql){}处理这个这个替换过程具体的处理看:256行有:$prefix="dede_";262行有:$np = strlen($prefix);263行有:$restr = ”;267行有:$test = substr($sql, $j, $np);好在看286行:CODE: if ($test == $prefix && !$inQuote){$restr .= $this->dbPrefix;$j = $np-1;}[Copy to clipboard] 当我们获得sql语句中有dede_,那么$restr前面就加载表头。注重:264行 for($j=0; $j < $n; $j ){}循环语句我在想,为什么dedecms要用for循环对sql语句的每个字符都要严格过滤,也是出于安全考虑,防止sql注入另外:我看到了266行:$c = $sql{$j};后来查了手册:手册是这么解释的:访问字符串中的字符字符串中的字符可以通过在字符串之后用花括号指定所要字符从零开始的偏移量来访问。

昨晚多几分钟的准备,今天少几小时的麻烦。

DEDECMSV3 文件代码流程功能分析-DedeCms

相关文章:

你感兴趣的文章:

标签云: