Ain’t No High Mountain

如何让WordPress防采集


作者: XRacZ • Apr 5th, 2008 • 目录: HowTO
Gambling - Poker - Blackjack - Slots - Roulette - Online Casino - Card Games - Horse Racing

用心写了好多文章,一下子就被人采走,是不是即愤怒又无奈?国内用采集垃圾站的人太多了,加上有关制度的不完善,即使加了版权也无济于事!
来自落伍者论坛negoo给广大用户提供了一种防采集的方案,希望对广大原创博主有用。

打开 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>\r\n”;
//附机标记
$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

分享收藏本文

您可能还会对以下文章感兴趣

关键词: , , , , , , , , , , , , , ,

XRacZ is
给作者发邮件 | 该文章作者: XRacZ

您不打算说点什么吗?