快捷搜索:   nginx

给wordpress增加干扰码防采集

wordpress最多的是用于写作博客,很多都是我们的原创,而对于优质的原创内容,最怕的就是被人用机器一下子就采集走,因此需要做好防采集工作。

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

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

function RndString($body) 
{ 
//最大间隔距离(如果在检测不到p标记的情况下,加入混淆字串的最大间隔距离) 
$maxpos = 1024; 
//font 的字体颜色 
$fontColor = “#FFFFFF”; 
//p 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] = “p”; 
$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/下 

22_080819142105.zip


顶(6)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论