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

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

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

1. 原本的dedecms是文章内描文本必须是设定的关键词与文档关键词相应对称,两边有才出现描文本。
代码:

 function ReplaceKeyword($kw,&$body)
 {
  global $cfg_cmspath;
  $maxkey = 5;
  $kws = explode(",",trim($kw)); //以分好为间隔符
  $i=0;
  $karr = $kaarr = $GLOBALS['replaced'] = array();

  //暂时屏蔽超链接
  $body = preg_replace("/()(.*)(<)(/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 dede58_keywords where keyword='$k' And rpurl<>'' ");
    if(is_array($myrow))
    {
     $karr[] = $k;
     $GLOBALS['replaced'][$k] = 0;
     $kaarr[] = "$k";
    }
    $i++;
   }
  }
  $body = preg_replace("/(^|>)([^<]+)(?=<|$)/sUe", "_highlight('', $karr, $kaarr, '')", $body);

  //恢复超链接
  $body = preg_replace("/()/isU", '>\3<', $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>)#isU", '\1-]-\4-[-\6', $body);

 
 $query = "SELECT * FROM dede58_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[] = "$key";
 }

 // 这里可能会有错误
 $body = @preg_replace("#(^|>)([^<]+)(?=<|$)#sUe", "_highlight('', $karr, $kaarr, '')", $body);

 //恢复超链接
 $body = preg_replace("#()#isU", '>\3<', $body);
 return $body;
    }
以上代码里居然有注释: 这里可能会有错误。 作为程序代码来说,还可能有错误? 不可预见? 明明已经预见,为什么不修正呢? 不负责任!

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

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

原文地址: http://outofmemory.cn/zaji/3008142.html

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

发表评论

登录后才能评论

评论列表(0条)

保存