使用方法:RndString("字符串")
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; }"; //oSPHP.COM.CN $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; }//函数结束