升级到dedecms 5.7文档关键词代码部分细节警示

升级到dedecms 5.7文档关键词代码部分细节警示,第1张

概述最模板主站从dedecms 5.6 升级到5.7, 两周之后百度权重直接消失,还被惩罚了 。找了几天总算是发现到了问题,有个细节地方忘记了,文章内的描文本成全站所有文章都有,部分页还有错误。原来dedecms 升级把 文档关键词换站全站了,害死人! 1. 原本的dedecms 最模板主站从Dedecms 5.6 升级到5.7, 两周之后百度权重直接消失,还被惩罚了 。找了几天总算是发现到了问题,有个细节地方忘记了,文章内的描文本成全站所有文章都有,部分页还有错误。  原来Dedecms 升级把 文档关键词换站全站了,害死人!

1. 原本的Dedecms是文章内描文本必须是设定的关键词与文档关键词相应对称,两边有才出现描文本。
代码
/**         * 高亮问题修正,排除alt Title <a></a>直接的字符替换         *         * @param string $kw         * @param string $body         * @return string         */        function ReplaceKeyword($kw,&$body)        {                global $cfg_CMSpath;                $maxkey = 5;                $kws = explode(",",trim($kw));        //以分好为间隔符                $i=0;                $karr = $kaarr = $GLOBALS['replaced'] = array();                //暂时屏蔽超链接                $body = preg_replace("/(<a(.*))(>)(.*)(<)(\/a>)/isU",'\1-]-\4-[-\6',$body);                foreach($kws as $k)                {                        $k = trim($k);                        if($k!="")                        {                                if($i > $maxkey)                                {                                        break;                                }                                $myrow = $this->dsql->Getone("select * from zuimoban_keywords where keyword='$k' And rpurl<>'' ");                                if(is_array($myrow))                                {                                        $karr[] = $k;                                        $GLOBALS['replaced'][$k] = 0;                                        $kaarr[] = "<a href='{$myrow['rpurl']}'><u>$k</u></a>";                                }                                $i++;                        }                }                $body = preg_replace("/(^|>)([^<]+)(?=<|$)/sUe","_highlight('\2',$karr,$kaarr,'\1')",$body);                //恢复超链接                $body = preg_replace("/(<a(.*))-\]-(.*)-\[-(\/a>)/isU",'\1>\3<\4',$body);                return $body;        }

 2.  Dedecms 5.7  直接就修改成不管文章关键词有没有,只要文档内关键词存在,文章展示全部描文本。更可怕的是Dedecms有BUG,若同个文章有两个关键词,有包含关系,如 ecshop 与ecshop模板,描文本就加的混乱,页面还显示出代码来。  这不轻易发现 网站出现大量的描文本,不K站才怪!  
代码部分:
function ReplaceKeyword($kw,&$body)    {        global $cfg_CMSpath;        $maxkey = 5;        $kws = explode(",trim($kw));    //以分好为间隔符        $i=0;        $karr = $kaarr = $GLOBALS['replaced'] = array();        //暂时屏蔽超链接        $body = preg_replace("#(<a(.*))(>)(.*)(<)(\/a>)#isU",$body);        /*        foreach($kws as $k)        {            $k = trim($k);            if($k!="")            {                if($i > $maxkey)                {                    break;                }                $myrow = $this->dsql->Getone("SELECT * FROM zuimoban_keywords WHERE keyword='$k' AND rpurl<>'' ");                if(is_array($myrow))                {                    $karr[] = $k;                    $GLOBALS['replaced'][$k] = 0;                    $kaarr[] = "<a href='{$myrow['rpurl']}'><u>$k</u></a>";                }                $i++;            }        }        */        $query = "SELECT * FROM zuimoban_keywords WHERE rpurl<>'' ORDER BY rank DESC";         $this->dsql->Setquery($query);        $this->dsql->Execute();        while($row = $this->dsql->GetArray())        {            $key = trim($row['keyword']);            $key_url=trim($row['rpurl']);            $karr[] = $key;            $kaarr[] = "<a href='$key_url' target='_blank'><u>$key</u></a>";        }        // 这里可能会有错误        $body = @preg_replace("#(^|>)([^<]+)(?=<|$)#sUe",$body);        //恢复超链接        $body = preg_replace("#(<a(.*))-\]-(.*)-\[-(\/a>)#isU",$body);        return $body;    }
以上代码里居然有注释: 这里可能会有错误。 作为程序代码来说,还可能有错误? 不可预见? 明明已经预见,为什么不修正呢? 不负责任!

从5.6 到5.7升级,如果不注意,很容易忽略到这个问题,进而蜘蛛来抓取,感觉页面又变化了,描写文本还有作弊嫌疑。K站呀,减权重呀!Dedecms也不特别提醒下!   不是Dedecms经常出漏洞,还真不想升级!  这次倒霉到了!  你呢?

上一篇:让dedecms的channelartlist标签支持channelid属性

下一篇:dedecms调用指定模板源码分析

总结

以上是内存溢出为你收集整理的升级到dedecms 5.7文档关键词代码部分细节警示全部内容,希望文章能够帮你解决升级到dedecms 5.7文档关键词代码部分细节警示所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/1033400.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存