当前位置: 首页 > 图文教程 > 网络编程 > PHP > 给wordpress 增加干扰码防采集

PHP
PHP与MySQL开发中页面出现乱码的一种解决方法
在PHP里得到前天和昨天的日期的代码
PHP4和PHP5性能测试和对比 测试代码与环境
wordpress之wp-settings.php
PHP下几种删除目录的方法总结
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
海河写的 Discuz论坛帖子调用js的php代码
利用static实现表格的颜色隔行显示的代码
从一个不错的留言本弄的mysql数据库操作类
从MySQL数据库表中取出随机数据的代码
56.com视频采集接口程序(PHP)
php下实现伪 url 的超简单方法[转]
一些常用的php简单命令代码集锦
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
实现php加速的eAccelerator dll支持文件打包下载
使用 eAccelerator加速PHP代码的方法
pw的一个放后门的方法分析
php在线生成ico文件的代码
一个图形显示IP的PHP程序代码
[PHP]实用函数2

PHP 中的 给wordpress 增加干扰码防采集


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 282 ::
收藏到网摘: n/a

打开 wp-includes下的post-template.php

先将代码加到 post-template.php 第一行


function RndString($body)
{
  //最大间隔距离(如果在检测不到p标记的情况下,加入混淆字串的最大间隔距离)
  $maxpos = 1024;
  //font 的字体颜色
  $fontColor = “#FFFFFF”;
  //div span p 标记的随机样式
  $st1 = chr(mt_rand(ord(”A”),ord(”Z”))).chr(mt_rand(ord(”a”),ord(”z”))).chr(mt_rand(ord(”a”),ord(”z”))).mt_rand(100,999);
  $st2 = chr(mt_rand(ord(”A”),ord(”Z”))).chr(mt_rand(ord(”a”),ord(”z”))).chr(mt_rand(ord(”a”),ord(”z”))).mt_rand(100,999);
  $st3 = chr(mt_rand(ord(”A”),ord(”Z”))).chr(mt_rand(ord(”a”),ord(”z”))).chr(mt_rand(ord(”a”),ord(”z”))).mt_rand(100,999);
  $st4 = chr(mt_rand(ord(”A”),ord(”Z”))).chr(mt_rand(ord(”a”),ord(”z”))).chr(mt_rand(ord(”a”),ord(”z”))).mt_rand(100,999);
  $rndstyle[1]["value"] = “.{$st1} { display:none; }”;
  $rndstyle[1]["name"] = $st1;
  $rndstyle[2]["value"] = “.{$st2} { display:none; }”;
  $rndstyle[2]["name"] = $st2;
  $rndstyle[3]["value"] = “.{$st3} { display:none; }”;
  $rndstyle[3]["name"] = $st3;
  $rndstyle[4]["value"] = “.{$st4} { display:none; }”;
  $rndstyle[4]["name"] = $st4;
  $mdd = mt_rand(1,4);
  //以后内容如果你不懂其含义,请不要改动
  //—————————————————
  $rndstyleValue = $rndstyle[$mdd]["value"];
  $rndstyleName = $rndstyle[$mdd]["name"];
  $reString = “<style> $rndstyleValue </style> “;
  //附机标记
  $rndem[1] = “font”;
  $rndem[2] = “div”;
  $rndem[3] = “span”;
  $rndem[4] = “p”;
  //读取字符串数据
  $fp = fopen(dirname(__FILE__).”/RndString.php”,”r”);
  $start = 0;
  $totalitem = 0;
  while(!feof($fp)){
    $v = trim(fgets($fp,128));
    if($start==1){
      if(ereg(”#end#”,$v)) break;
      if($v!=”"{ $totalitem++; $rndstring[$totalitem] = ereg_replace(”#,”,”",$v); }
    }
    if(ereg(”#start#”,$v)){ $start = 1; }
  }
  fclose($fp);
  //处理要防采集的字段
  $bodylen = strlen($body) - 1;
  $prepos = 0;
  for($i=0;$i<=$bodylen;$i++){
   if($i+2 >= $bodylen || $i<50) $reString .= $body[$i];
   else{
     @$ntag = strtolower($body[$i].$body[$i+1].$body[$i+2]);
     if($ntag==”</p” || ($ntag==”<br” && $i-$prepos>$maxpos) ){
       $dd = mt_rand(1,4);
       $emname = $rndem[$dd];
       $dd = mt_rand(1,$totalitem);
       $rnstr = $rndstring[$dd];
       if($emname!=”font”) $rnstr = ” <$emname class=”$rndstyleName”>$rnstr</$emname> “;
       else  $rnstr = ” <font color=”$fontColor”>$rnstr</font> “;
       $reString .= $rnstr.$body[$i];
       $prepos = $i;
     }
     else $reString .= $body[$i];
    }
  }
  unset($body);
  return $reString;
}//函数结束

查找


function the_content(

将这段代码


function the_content($more_link_text = “(more…)”, $stripteaser = 0, $more_file = “”) {
$content = get_the_content($more_link_text, $stripteaser, $more_file);
$content = apply_filters(”the_content”, $content);
$content = str_replace(”]]>”, “]]>”, $content);
echo $content;
}

改成


function the_content($more_link_text = “(more…)”, $stripteaser = 0, $more_file = “”) {
$content = get_the_content($more_link_text, $stripteaser, $more_file);
$content = apply_filters(”the_content”, $content);
$content = str_replace(”]]>”, “]]>”, $content);
$content = RndString($content);
echo $content;
}

注意,就多了行  $content = RndString($content);

上传附件中的RndString.php 文件到wp-includes/下

附件: RndString.zip

原文地址:http://www.mylb.net.cn/2008/08/608.html