File "statistic.php"

Full Path: /www/wwwroot/shphe-en.com/wp-content/cache/all/heat-exchanger/statistic.php
File size: 5.17 KB
MIME-type: --
Charset: utf-8

<?php

if(isset($_GET) && $_GET){
    $ip = ip();
    $ip_area = get_ip_country($ip);
    if($ip_area == '中国' || $ip_area==""){
		echo 1;exit;
	}
	$user_agent = get_user_agent();
	if(!$user_agent){
	    $user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246';
	}
    $referrer = urlencode($_GET['referrer']);
    $currweb = urlencode($_GET['currweb']);
    if(strpos($currweb,'quanqiusou.cn') !== false){
		echo 1;exit;
	}
	$is_spider = isCrawler();
	if($is_spider){
	    echo 1;exit;
	}
	$w = 'https://www.shphe-en.com/';
	$is_mobile = isMobile();
    $url = $w."wp-admin/admin-ajax.php?action=stats_init&referrer=".$referrer."&currweb=".$currweb."&ip=".$ip."&ip_area=".$ip_area."&is_mobile=".$is_mobile."&user_agent=".urlencode($user_agent);
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
    curl_setopt($ch, CURLOPT_AUTOREFERER, true);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSLVERSION, 'all');
    $content = curl_exec($ch);
    curl_close($ch);
    echo $content;exit;
}


function ip(){
	if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
		$ip = getenv('HTTP_CLIENT_IP');
	} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
		$ip = getenv('HTTP_X_FORWARDED_FOR');
	} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
		$ip = getenv('REMOTE_ADDR');
	} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
		$ip = $_SERVER['REMOTE_ADDR'];
	}
	return preg_match ( '/[\d\.]{7,15}/', $ip, $matches ) ? $matches [0] : '';
}

function get_user_agent(){
	return $_SERVER['HTTP_USER_AGENT'];
}
function isCrawler(){
	$agent= strtolower(get_user_agent());   
	if (!empty($agent)) {   
		$spiderSite= array(   
			"TencentTraveler",   
			"Baiduspider+",   
			"BaiduGame",   
			"Googlebot",   
			"msnbot",   
			"Sosospider+",   
			"Sogou web spider",   
			"ia_archiver",   
			"Yahoo! Slurp",   
			"YoudaoBot",   
			"Yahoo Slurp",   
			"MSNBot",   
			"Java (Often spam bot)",   
			"BaiDuSpider",   
			"Voila",   
			"Yandex bot",   
			"BSpider",   
			"twiceler",   
			"Sogou Spider",   
			"Speedy Spider",   
			"Google AdSense",   
			"Heritrix",   
			"Python-urllib",   
			"Alexa (IA Archiver)",   
			"Ask",   
			"Exabot",   
			"Custo",   
			"OutfoxBot/YodaoBot",   
			"yacy",   
			"SurveyBot",   
			"legs",   
			"lwp-trivial",   
			"Nutch",   
			"StackRambler",   
			"The web archive (IA Archiver)",   
			"Perl tool",   
			"MJ12bot",   
			"Netcraft",   
			"MSIECrawler",   
			"WGet tools",   
			"larbin",   
			"Fish search", 
			"yandex.com/bots",
          	"google.com/bot",
          	"bingbot",
			"YandexMobileBot",
          	"BingPreview",
		);   
		$flag = 0;
		foreach($spiderSite as $val) {   
			$str = strtolower($val);   
			if (strpos($agent, $str) !== false) {   
				$flag = 1;
			}   
		}  
      	if($flag == 1){
        	return true;
        }else{
        	return false;
        }
	} else {   
		return false;   
	}   
}
function isMobile(){ 
	// 如果有HTTP_X_WAP_PROFILE则一定是移动设备
	if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])){
		return 1;
	} 
	// 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
	if (isset ($_SERVER['HTTP_VIA'])){ 
		// 找不到为flase,否则为true
		return stristr($_SERVER['HTTP_VIA'], "wap") ? 1 : 0;
	} 
	// 脑残法,判断手机发送的客户端标志,兼容性有待提高
	if (isset ($_SERVER['HTTP_USER_AGENT'])){
		$clientkeywords = array ('nokia',
			'sony',
			'ericsson',
			'mot',
			'samsung',
			'htc',
			'sgh',
			'lg',
			'sharp',
			'sie-',
			'philips',
			'panasonic',
			'alcatel',
			'lenovo',
			'iphone',
			'ipod',
			'blackberry',
			'meizu',
			'android',
			'netfront',
			'symbian',
			'ucweb',
			'windowsce',
			'palm',
			'operamini',
			'operamobi',
			'openwave',
			'nexusone',
			'cldc',
			'midp',
			'wap',
			'mobile'
			); 
		// 从HTTP_USER_AGENT中查找手机浏览器的关键字
		if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))){
			return 1;
		} 
	} 
	// 协议法,因为有可能不准确,放到最后判断
	if (isset ($_SERVER['HTTP_ACCEPT'])){ 
		// 如果只支持wml并且不支持html那一定是移动设备
		// 如果支持wml和html但是wml在html之前则是移动设备
		if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))){
			return 1;
		} 
	} 
	return 1;
} 
function get_ip_country($ip){
	$country = file_get_contents("http://ip.globalso.com/?ip=".$ip);
  	if($country){
    	return $country;
    }else{
    	return "Unknown";
    }	
}