给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/下
顶(6)
踩(0)
- 最新评论