文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>DEDECMSV3 文件代码流程功能分析(3),希望有助于dedecms整合,扩展

DEDECMSV3 文件代码流程功能分析(3),希望有助于dedecms整合,扩展

时间:2006-09-20  来源:w3g8

dede很多时候用#@__后面加表,好处是,大家可以安装时,定义自己的表的前缀,这样安全性提高了,
那么,#@__,dede是怎么处理的,很容易想到,在mysql类库处理里面替换#@__为表的前缀,
关于#@__替换过程:
首先找到的是./include/pub_db_mysql.php
行252 有
function SetQuery($sql){}
处理这个这个替换过程
具体的处理看:

256行有:$prefix="#@__";
262行有:$np = strlen($prefix);
263行有:$restr = '';
267行有:$test = substr($sql, $j, $np);

好在看286行:
CODE:
if ($test == $prefix && !$inQuote)
        {
          $restr .= $this->dbPrefix;
          $j += $np-1;
        }
[url=javascript:][Copy to clipboard][/url]
当我们获得sql语句中有#@__,那么$restr前面就加载表头。
注意:264行 for($j=0; $j 另外:我看到了266行:$c = $sql{$j};后来查了手册:
手册是这么解释的:
  访问字符串中的字符
  字符串中的字符可以通过在字符串之后用花括号指定所要字符从零开始的偏移量来访问。


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载