Пример #1
0
function IP($ip = '', $file = 'UTFWry.dat')
{
    import("@.ORG.IpLocation");
    $iplocation = new IpLocation($file);
    $location = $iplocation->getlocation($ip);
    return $location;
}
Пример #2
0
 public function index()
 {
     echo $_POST['keyword'];
     //搜索
     if (!empty($_GET['keyword'])) {
         if ($_GET['searchtype'] == 'uid') {
             $condition_user['uid'] = $_GET['keyword'];
         } else {
             if ($_GET['searchtype'] == 'nickname') {
                 $condition_user['nickname'] = array('like', '%' . $_GET['keyword'] . '%');
             } else {
                 if ($_GET['searchtype'] == 'phone') {
                     $condition_user['phone'] = array('like', '%' . $_GET['keyword'] . '%');
                 }
             }
         }
     }
     $database_user = D('User');
     $count_user = $database_user->where($condition_user)->count();
     import('@.ORG.system_page');
     $p = new Page($count_user, 15);
     $user_list = $database_user->field(true)->where($condition_user)->order('`uid` DESC')->limit($p->firstRow . ',' . $p->listRows)->select();
     if (!empty($user_list)) {
         import('ORG.Net.IpLocation');
         $IpLocation = new IpLocation();
         foreach ($user_list as &$value) {
             $last_location = $IpLocation->getlocation(long2ip($value['last_ip']));
             $value['last_ip_txt'] = iconv('GBK', 'UTF-8', $last_location['country']);
         }
     }
     $this->assign('user_list', $user_list);
     $pagebar = $p->show();
     $this->assign('pagebar', $pagebar);
     $this->display();
 }
Пример #3
0
 public static function load()
 {
     global $app;
     //IP判断=====================================
     $onlineip = getIP();
     $ipCity = new IpLocation(INCLUDE_DIR . 'ipdata/QQWry.Dat');
     $uCity = $ipCity->getlocation($onlineip);
     try {
         if (strcmp(trim($uCity['country']), '北京市') != 0) {
             throw new Exception('对不起您的IP不符合要求');
         }
     } catch (Exception $e) {
         $app->error($e->getMessage(), SITE_URL);
     }
     //===========================================
     if (isset($_SESSION[self::SESSION_KEY]) && isset($_SESSION[self::SESSION_KEY]['username'])) {
         if (isset($_SESSION[self::SESSION_KEY]['record'])) {
             $user = $_SESSION[self::SESSION_KEY]['record'];
         } else {
             $user = new User('username', $_SESSION[self::SESSION_KEY]['username']);
         }
     } else {
         if (isset($_COOKIE[self::COOKIE_KEY])) {
             $user = self::checkCookie($_COOKIE[self::COOKIE_KEY]);
         } else {
             return false;
         }
     }
     if (!$user) {
         return self::logout();
     }
     self::setInfos($user);
     return true;
 }
Пример #4
0
 /**
  * Get the city data
  *
  * @param object $event the event object
  * @param string $ipAddress the ip address
  * @return array the details requested
  */
 public function onGetCity($event, $ipAddress = null)
 {
     $IpLocation = new IpLocation();
     $return = $IpLocation->getCityData($ipAddress);
     unset($IpLocation);
     return $return;
 }
Пример #5
0
 public function ip()
 {
     import('ORG.Net.IpLocation');
     // 导入IpLocation类
     $Ip = new IpLocation();
     // 实例化类
     $location = $Ip->getlocation('218.79.93.194');
     // 获取某个IP地址所在的位置
     $area = $Ip->getlocation();
     dump($area);
 }
Пример #6
0
function IP($ip = '', $file = 'UTFWry.dat')
{
    $_ip = array();
    if (isset($_ip[$ip])) {
        return $_ip[$ip];
    } else {
        import("ORG.Net.IpLocation");
        $iplocation = new IpLocation($file);
        $location = $iplocation->getlocation($ip);
        $_ip[$ip] = $location['country'] . $location['area'];
    }
    return $_ip[$ip];
}
Пример #7
0
	public function insert(){
		$username = $this->_post('username');
        $password =  $this->_post('password','md5');
		if(empty($username)||empty($password)){
			$this->error('请输入帐号密码',U('Admin/index'));
		}
		$code=$this->_post('code','intval,md5',0);
		if($code != $_SESSION['verify']){
			$this->error('验证码错误',U('Admin/index'));
		}
        //生成认证条件
        $map            =   array();
        // 支持使用绑定帐号登录
        $map['username'] = $username;
        $map['status']        = 1;
        $authInfo = RBAC::authenticate($map,'User');
		//exit;
        //使用用户名、密码和状态的方式进行认证
		if($authInfo['password']!=$password)$this->error('账号密码不匹配,请认真填写');
        if((false == $authInfo)) {
            $this->error('帐号不存在或已禁用!');
        }else {
			session(C('USER_AUTH_KEY'), $authInfo['id']);
            session('userid',$authInfo['id']);  //用户ID
			session('username',$authInfo['username']);   //用户名
            session('roleid',$authInfo['role']);    //角色ID
            if($authInfo['username']==C('SPECIAL_USER')) {
                session(C('ADMIN_AUTH_KEY'), true);
            }
            //保存登录信息
            $User	=	M('User');
            $ip		=	get_client_ip();
            $data = array();
            if($ip){    //如果获取到客户端IP,则获取其物理位置
                $Ip = new IpLocation(); // 实例化类
                $location = $Ip->getlocation($ip); // 获取某个IP地址所在的位置
                $data['last_location'] = '';
                if($location['country'] && $location['country']!='CZ88.NET') $data['last_location'].=$location['country'];
                if($location['area'] && $location['area']!='CZ88.NET') $data['last_location'].=' '.$location['area'];
            }
            $data['id']	=	$authInfo['id'];
            $data['last_login_time']	=	time();
            $data['last_login_ip']	=	get_client_ip();
            $User->save($data);
			
            // 缓存访问权限
            RBAC::saveAccessList();
            redirect(U('System/index'));
        }
    }
Пример #8
0
 public function info()
 {
     $hits = D('Group')->get_hits_log($this->merchant_session['mer_id']);
     if (!empty($hits)) {
         import('ORG.Net.IpLocation');
         $IpLocation = new IpLocation();
         foreach ($hits['group_list'] as &$hit) {
             $last_location = $IpLocation->getlocation($hit['ip']);
             $hit['ip_txt'] = iconv('GBK', 'UTF-8', $last_location['country']);
         }
     }
     $this->assign('hits', $hits['group_list']);
     $this->assign('pagebar', $hits['pagebar']);
     $this->display();
 }
Пример #9
0
 public function check()
 {
     $verify = $this->_post('verify');
     if (md5($verify) != $_SESSION['admin_verify']) {
         exit('-1');
     }
     $database_admin = D('Admin');
     $condition_admin['account'] = $this->_post('account');
     $condition_admin['status'] = 1;
     $now_admin = $database_admin->field(true)->where($condition_admin)->find();
     if (empty($now_admin)) {
         exit('-2');
     }
     $pwd = $this->_post('pwd', 'htmlspecialchars,md5');
     if ($pwd != $now_admin['pwd']) {
         exit('-3');
     }
     if ($now_admin['status'] != 1) {
         exit('-4');
     }
     $now_admin['show_account'] = '超级管理员';
     if ($now_admin['level'] == 1) {
         if ($now_admin['area_id']) {
             $area = D('Area')->field(true)->where(array('area_id' => $now_admin['area_id']))->find();
             $now_admin['show_account'] = $area['area_name'] . '管理员';
         }
     } else {
         $now_admin['show_account'] = '普通管理员';
     }
     $data_admin['id'] = $now_admin['id'];
     $data_admin['last_ip'] = get_client_ip(1);
     $data_admin['last_time'] = $_SERVER['REQUEST_TIME'];
     $data_admin['login_count'] = $now_admin['login_count'] + 1;
     if ($database_admin->data($data_admin)->save()) {
         $now_admin['login_count'] += 1;
         if (!empty($now_admin['last_ip'])) {
             import('ORG.Net.IpLocation');
             $IpLocation = new IpLocation();
             $last_location = $IpLocation->getlocation(long2ip($now_admin['last_ip']));
             $now_admin['last']['country'] = iconv('GBK', 'UTF-8', $last_location['country']);
             $now_admin['last']['area'] = iconv('GBK', 'UTF-8', $last_location['area']);
         }
         session('system', $now_admin);
         exit('1');
     } else {
         exit('-5');
     }
 }
Пример #10
0
 /**
  * 构造函数,打开 QQWry.Dat 文件并初始化类中的信息
  *
  * @param string $filename
  * @return IpLocation
  */
 public static function getInstance()
 {
     if (!self::$instance instanceof self) {
         self::$instance = new self();
     }
     return self::$instance;
 }
Пример #11
0
 public function action_user_control__()
 {
     $ids = $this->request->query('ids');
     $json = array();
     if (!is_array($ids)) {
         return $this->jsonp($json);
     }
     $ids = array_unique($ids);
     foreach ($ids as $id) {
         if (!is_numeric($id)) {
             continue;
         }
         $json[$id] = CacheManager::getUser($id);
         if (!$json[$id]) {
             continue;
         }
         unset($json[$id]->password, $json[$id]->user_salt);
         $json[$id]->regip = IpLocation::getAddressByIP($json[$id]->reg_ip);
         $json[$id]->reg_date = date('Y-m-d H:i:s', $json[$id]->reg_date);
         $json[$id]->loginip = empty($json[$id]->login_ip) ? '' : IpLocation::getAddressByIP($json[$id]->login_ip);
         $json[$id]->login_date = $json[$id]->login_date == 0 ? '' : date('Y-m-d H:i:s', $json[$id]->login_date);
         $json[$id]->avatar = Util::getAvatar($json[$id]->avatar);
     }
     return $this->jsonp($json);
 }
Пример #12
0
 public function check()
 {
     if ($this->isAjax()) {
         if (md5($_POST['verify']) != $_SESSION['merchant_login_verify']) {
             exit(json_encode(array('error' => '1', 'msg' => '验证码不正确!', 'dom_id' => 'verify')));
         }
         $database_merchant = D('Merchant');
         $condition_merchant['account'] = $_POST['account'];
         $now_merchant = $database_merchant->field(true)->where($condition_merchant)->find();
         if (empty($now_merchant)) {
             exit(json_encode(array('error' => '2', 'msg' => '用户名不存在!', 'dom_id' => 'account')));
         }
         $pwd = md5($_POST['pwd']);
         if ($pwd != $now_merchant['pwd']) {
             exit(json_encode(array('error' => '3', 'msg' => '密码错误!', 'dom_id' => 'pwd')));
         }
         if ($now_merchant['status'] == 0) {
             exit(json_encode(array('error' => '4', 'msg' => '您被禁止登录!请联系工作人员获得详细帮助。', 'dom_id' => 'account')));
         } else {
             if ($now_merchant['status'] == 2) {
                 exit(json_encode(array('error' => '5', 'msg' => '您的帐号正在审核中,请耐心等待或联系工作人员审核。', 'dom_id' => 'account')));
             }
         }
         $data_merchant['mer_id'] = $now_merchant['mer_id'];
         $data_merchant['last_ip'] = get_client_ip(1);
         $data_merchant['last_time'] = $_SERVER['REQUEST_TIME'];
         $data_merchant['login_count'] = $now_merchant['login_count'] + 1;
         if ($database_merchant->data($data_merchant)->save()) {
             $now_merchant['login_count'] += 1;
             if (!empty($now_merchant['last_ip'])) {
                 import('ORG.Net.IpLocation');
                 $IpLocation = new IpLocation();
                 $last_location = $IpLocation->getlocation(long2ip($now_merchant['last_ip']));
                 $now_merchant['last']['country'] = iconv('GBK', 'UTF-8', $last_location['country']);
                 $now_merchant['last']['area'] = iconv('GBK', 'UTF-8', $last_location['area']);
             }
             session('merchant', $now_merchant);
             exit(json_encode(array('error' => '0', 'msg' => '登录成功,现在跳转~', 'dom_id' => 'account')));
         } else {
             exit(json_encode(array('error' => '6', 'msg' => '登录信息保存失败,请重试!', 'dom_id' => 'account')));
         }
     } else {
         exit('deney Access !');
     }
 }
Пример #13
0
 public function login()
 {
     if ($this->isAjax()) {
         $database_merchant = D('Merchant');
         $condition_merchant['account'] = trim($_POST['account']);
         $now_merchant = $database_merchant->field(true)->where($condition_merchant)->find();
         if (empty($now_merchant)) {
             exit(json_encode(array('error' => '2', 'msg' => '用户名不存在!', 'dom_id' => 'account')));
         }
         $pwd = md5(trim($_POST['pwd']));
         if ($pwd != $now_merchant['pwd']) {
             exit(json_encode(array('error' => '3', 'msg' => '密码错误!', 'dom_id' => 'pwd')));
         }
         if ($now_merchant['status'] == 0) {
             exit(json_encode(array('error' => '4', 'msg' => '您被禁止登录!请联系工作人员获得详细帮助。', 'dom_id' => 'account')));
         } else {
             if ($now_merchant['status'] == 2) {
                 exit(json_encode(array('error' => '5', 'msg' => '您的帐号正在审核中,请耐心等待或联系工作人员审核。', 'dom_id' => 'account')));
             }
         }
         $data_merchant['mer_id'] = $now_merchant['mer_id'];
         $data_merchant['last_ip'] = get_client_ip(1);
         $data_merchant['last_time'] = $_SERVER['REQUEST_TIME'];
         $data_merchant['login_count'] = $now_merchant['login_count'] + 1;
         if ($database_merchant->data($data_merchant)->save()) {
             $now_merchant['login_count'] += 1;
             if (!empty($now_merchant['last_ip'])) {
                 import('ORG.Net.IpLocation');
                 $IpLocation = new IpLocation();
                 $last_location = $IpLocation->getlocation(long2ip($now_merchant['last_ip']));
                 $now_merchant['last']['country'] = iconv('GBK', 'UTF-8', $last_location['country']);
                 $now_merchant['last']['area'] = iconv('GBK', 'UTF-8', $last_location['area']);
             }
             session('merchant_session', $now_merchant);
             exit(json_encode(array('error' => '0', 'msg' => '登录成功,现在跳转~', 'dom_id' => 'account')));
         } else {
             exit(json_encode(array('error' => '6', 'msg' => '登录信息保存失败,请重试!', 'dom_id' => 'account')));
         }
     } else {
         $referer = isset($_GET['referer']) ? htmlspecialchars_decode(urldecode($_GET['referer']), ENT_QUOTES) : '';
         $this->assign('refererUrl', $referer);
         $this->display();
     }
 }
Пример #14
0
 public static function getAddressByIP($ip)
 {
     if (!$ip) {
         return "未知";
     }
     if (!IpLocation::$ipl) {
         IpLocation::$ipl = new IpLocation(DOCROOT . 'application/classes/ip/QQWry.Dat');
     }
     $address = IpLocation::$ipl->getaddress($ip);
     return mb_convert_encoding($address["area1"] . $address["area2"], 'utf-8', 'GB2312');
 }
Пример #15
0
 public function index()
 {
     import('ORG.Net.IpLocation');
     // 导入IpLocation类
     $Ip = new IpLocation();
     // 实例化类
     $name = $this->getActionName();
     $message = D($name);
     $ary_get['pageall'] = $this->_get('pageall', 'htmlspecialchars', 10);
     $count = $message->where()->count();
     $obj_page = $this->_Page($count, $ary_get['pageall']);
     $page = $obj_page->newshow();
     $ary_data = $message->where()->limit($obj_page->firstRow, $obj_page->listRows)->select();
     if (!empty($ary_data) && is_array($ary_data)) {
         foreach ($ary_data as $k => $v) {
             $ary_data[$k]['ip_location'] = $Ip->getlocation($v['log_ip']);
         }
     }
     $this->assign("data", $ary_data);
     $this->assign("page", $page);
     $this->assign("filter", $ary_get);
     $this->display();
 }
Пример #16
0
 protected function _initialize()
 {
     //定义是前台
     define('IN_ADMIN', false);
     parent::_initialize();
     //前台关闭表单令牌
     C("TOKEN_ON", false);
     $this->initUser();
     $user = session("user");
     $this->assign('member_user', $user);
     //模块静态资源目录,例如CSS JS等
     $this->assign('model_extresdir', CONFIG_SITEURL_MODEL . MODEL_EXTRESDIR);
     import('ORG.Util.IpLocation');
     // 导入IpLocation类
     $Ip = new IpLocation('UTFWry.dat');
     // 实例化类 参数表示IP地址库文件
     $area = $Ip->getlocation();
     // 获取某个IP地址所在的位置
     $country = $area['country'];
     //获取到的城市
     $where['name'] = array('like', $country . '%');
     $citylist = M("City")->where($where)->find();
     $chengshiid = $_COOKIE['chengshi_id'];
     //获取cookie 城市
     if (empty($chengshiid) && empty($citylist)) {
         $this->assign("chengshikey", 1);
     } else {
         $this->assign("dingcountry", $citylist['name']);
     }
     if (empty($chengshiid)) {
         thinkcookie_cookie('chengshi_id', $citylist['id']);
         $this->assign("country", $citylist['name']);
     } else {
         $citylist = M("City")->where(array('id' => $chengshiid))->find();
         $this->assign("country", $citylist['name']);
     }
 }
Пример #17
0
 public function index()
 {
     if (GetSettValue("ipblock_lang") == 1 && substr_count($_SERVER["HTTP_ACCEPT_LANGUAGE"], 'zh-cn') > 0) {
         $this->redirect('Ipblock/login');
     }
     $ipLocatoin = IpLocation::getInstance();
     $result = $ipLocatoin->init($this->ipdatafile)->getcity($ipLocatoin->get_client_ip());
     $address = $result['country'] . $result['area'];
     $ip = $result['ip'];
     $city = GetSettValue("ipblock_city");
     $cityinfo = unserialize($city);
     //$cityinfo[]='本机地址';
     foreach ($cityinfo as $k => $v) {
         if (substr_count($address, $v) > 0 || substr_count($ip, $v) > 0) {
             $this->redirect('Ipblock/login');
         }
     }
     setcookie("ipblock", 0, time() + 3600 * 6, "/");
     //不在范围
 }
Пример #18
0
function getaddress($ip, $area = false)
{
    include_once ONEZ_ROOT . "./include/ip.class.php";
    $p = new IpLocation();
    $l = $p->getlocation($ip);
    //print_r($l);
    $address = $l['country'];
    if ($area) {
        $address .= $l['area'];
    }
    return $address;
}
Пример #19
0
function GetArea($ipdzcs)
{
    htmlentities($ipdzcs, ENT_NOQUOTES);
    global $location;
    //全局变量
    global $zsip;
    global $czipxx;
    //纯真ip信息
    global $ipip;
    if (strpos($ipdzcs, "*")) {
        //判断ip地址中是否包含“*”,包含就替换成0,不包含直接使用
        $ipdz = str_replace("*", "0", $ipdzcs);
    } else {
        $ipdz = $ipdzcs;
    }
    $ipdz = trim("{$ipdz}");
    //去除ip地址中空格
    $iplocation = new IpLocation();
    $location = $iplocation->getlocation($ipdz);
    //将纯真数据库的ip地址拿出来经过ip138去查询
    if ($location == 1) {
        $Area[1][1] = "您输入的" . '"' . $ipdz . '"' . "地址格式有误,请核对后重新输入";
        //参考数据1
        $Area[1][2] = "您输入的" . '"' . $ipdz . '"' . "地址格式有误,请核对后重新输入";
        //参考数据2
        $czipxx = "您输入的" . '"' . $ipdz . '"' . "地址格式有误,请核对后重新输入";
        $ipip[0] = "您输入的" . '"' . $ipdz . '"' . "地址格式有误,请核对后重新输入";
    } else {
        $zsip = $location[ip];
        $czipxx = $location[country] . $location[area];
        //直接将纯真数据库数据返回给“本站数据”内容
        $czipxx = iconv('GB2312', 'UTF-8//IGNORE', $czipxx);
        $ch = curl_init();
        $url = "http://www.ip138.com/ips1388.asp?ip=" . $zsip . "&action=2";
        $timeout = 60;
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
        $contents = curl_exec($ch);
        $contents = iconv('GB2312', 'UTF-8//IGNORE', $contents);
        $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);
        if ($httpcode != 200) {
            $Area[1][1] = $czipxx;
            //参考数据1
            $Area[1][2] = $czipxx;
            //参考数据2
            $Area[1][3] = "您查询的IP: {$zsip}";
        } else {
            preg_match_all('|<li>本站主数据:.*</li>|', $contents, $rsR);
            $rsR[0][0] = str_replace("<li>本站主数据:", "", $rsR[0][0]);
            preg_match_all('|<li>参考数据一:.*</li>|', $contents, $rsB);
            $rsB[0][0] = str_replace("<li>参考数据一:", "", $rsB[0][0]);
            //preg_match_all('|<h1>.*</h1>|',$contents,$rsC);
            $pos = strpos($rsR[0][0], '</li>');
            $pos1 = strpos($rsB[0][0], '</li>');
            $Area[1][1] = substr_replace($rsR[0][0], '', $pos);
            //参考数据1
            $Area[1][2] = substr_replace($rsB[0][0], '', $pos1);
            //参考数据2
            $Area[1][3] = "您查询的IP: {$zsip}";
            //$Area[1][3] = $rsC[0][0];
        }
        //调用ipip.net数据
        $ch = curl_init();
        $urlipip = "http://freeapi.ipip.net/" . $zsip;
        $timeout = 60;
        curl_setopt($ch, CURLOPT_URL, $urlipip);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
        $ipip = curl_exec($ch);
        $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);
        if ($httpcode != 200) {
            $ipip = array('0' => $Area[1][1]);
        } else {
            $ipip = json_decode($ipip, true);
        }
    }
    return $Area;
}
Пример #20
0
/**
 * IP转换成地区
 */
function ip2area($ip = "")
{
    if (strlen($ip) < 6) {
        return;
    }
    import("ORG.Net.IpLocation");
    $Ip = new IpLocation("CoralWry.dat");
    $area = $Ip->getlocation($ip);
    $area = auto_charset($area);
    if ($area['country']) {
        $res = $area['country'];
    }
    if ($area['area']) {
        $res = $res . "(" . $area['area'] . ")";
    }
    if (empty($res)) {
        $res = "未知";
    }
    return $res;
}
Пример #21
0
function ipfrom($myip){
  require_once C('PUBLIC_INCLUDE')."qqwry.class.php";
  $ip = new IpLocation;
  $datas = $ip->getlocation($myip);
  $pv = $datas['province'];
  $city = $datas['city'];
  return iconv("GBK", "UTF-8",$pv.'/'.$city);
}
Пример #22
0
 public static function ip2location($ip)
 {
     $ipClass = new IpLocation();
     $location = $ipClass->getlocation($ip);
     return $location;
 }
Пример #23
0
<?php

$debug = true;
require_once './oj-header.php';
require_once './include/iplocation.php';
$users = $on->getAll();
$ip = new IpLocation();
?>
<h3>current online user: <?php 
echo $on->get_num();
?>
</h3>
<table style="margin:auto;width:98%">
<thead>
<tr><th style="width: 50px">ip</th><th>uri</th><th>refer</th><th style="width:100px">stay time</th><th>user agent</th></tr>
</thead>
<tbody>
<?php 
foreach ($users as $u) {
    ?>
<tr><td class="ip"><?php 
    $l = $ip->getlocation($u->ip);
    echo $u->ip . '<br />';
    echo $l['area'] . '@' . $l['country'];
    ?>
</td><td><?php 
    echo $u->uri;
    ?>
</td><td><?php 
    echo $u->refer;
    ?>
Пример #24
0
 public function around_adress()
 {
     if (isset($_GET["long"]) && isset($_GET["lat"])) {
         $map_center = "new BMap.Point(" . $_GET["long"] . "," . $_GET["lat"] . ")";
     } else {
         import("ORG.Net.IpLocation");
         $IpLocation = new IpLocation();
         $last_location = $IpLocation->getlocation();
         $map_center = "\"" . iconv("GBK", "UTF-8", $last_location["country"]) . "\"";
     }
     $this->assign("map_center", $map_center);
     $this->display();
 }
Пример #25
0
 private function convertPartList($tmp_part_list)
 {
     $part_list = array();
     import('ORG.Net.IpLocation');
     $IpLocation = new IpLocation();
     foreach ($tmp_part_list as $value) {
         $value['ip'] = long2ip($value['ip']);
         $last_location = $IpLocation->getlocation($value['ip']);
         $value['ip_txt'] = iconv('GBK', 'UTF-8', $last_location['country']);
         // $value['ip_txt'] = iconv('GBK','UTF-8',$last_location['area']);
         $arrKey = date('Y-m-d', $value['time']);
         if (empty($part_list[$arrKey])) {
             $part_list[$arrKey] = array();
         }
         array_push($part_list[$arrKey], $value);
     }
     return $part_list;
 }
Пример #26
0
 public static function getQQWryData($ip)
 {
     $city = array('country' => IpLocation::getAddressByIP($ip), 'region' => '', 'city' => '', 'county' => '');
     return $address;
 }
Пример #27
0
					<?php 
    }
    ?>
				</td>
				<td class="pl5"><?php 
    echo $user->reg_ip;
    ?>
(<?php 
    echo IpLocation::getAddressByIP($user->reg_ip);
    ?>
)</td>
				<td class="pl5"><?php 
    echo $user->login_ip;
    ?>
(<?php 
    echo IpLocation::getAddressByIP($user->login_ip);
    ?>
)</td>
			</tr>
			<?php 
}
?>
		</table>
		<div class="pager t_l"></div>
	</div>
</div>
<script type="text/javascript">
happi.pro.admin.pageLoad(false);

$("#btnSearch").click(function () {
	top.tab.refresh();
Пример #28
0
 /**
  * 管理员登陆日志
  * @author Terry<*****@*****.**>
  * @date 2013-3-29
  */
 public function pageLogList()
 {
     $ary_get = $this->_get();
     $ary_get['pageall'] = $this->_get('pageall', 'htmlspecialchars', 10);
     $adminlog = M("AdminLog");
     import('ORG.Net.IpLocation');
     // 导入IpLocation类
     $Ip = new IpLocation();
     // 实例化类
     $count = $adminlog->where()->count();
     $obj_page = $this->_Page($count, $ary_get['pageall']);
     $page = $obj_page->newshow();
     $ary_data = $adminlog->where()->limit($obj_page->firstRow, $obj_page->listRows)->order('log_create desc')->select();
     if (!empty($ary_data) && is_array($ary_data)) {
         foreach ($ary_data as $k => $v) {
             $ary_data[$k]['ip_location'] = $Ip->getlocation($v['log_ip']);
         }
     }
     $this->assign("data", $ary_data);
     $this->assign("filter", $ary_get);
     $this->assign("page", $page);
     $this->display();
 }
Пример #29
0
 /**
  * @todo 查询操作日志
  * @param array $map 目前只支持用户id的查询.
  */
 public function logList($map = array())
 {
     $db = Db::getInstance(C('RBAC_DB_DSN'));
     $member_table_name = C('OPERATION_MEMBER');
     $operation_table_name = C('DB_PREFIX') . 'msj_operation_log';
     $member_id = implode(',', $map);
     $sql = "(SELECT\r\n\t\tmsj_operation_log.operation_log AS operation_log,\r\n\t\tmsj_operation_log.operation_uid AS operation_uid,\r\n\t\tmsj_operation_log.operation_node AS operation_node,\r\n\t\tmsj_operation_log.operation_ip AS operation_ip,\r\n\t\tmsj_operation_log.operation_time AS operation_time,\r\n\t\tMember.member_name AS member_name\r\n\t\tFROM\r\n\t\t{$operation_table_name} msj_operation_log\r\n\t\tJOIN {$member_table_name} Member\r\n\t\tON msj_operation_log.operation_uid = Member.member_id\r\n\t\tWHERE (`member_id` IN('{$member_id}')))";
     $log_list = $db->query($sql);
     $Ip = new IpLocation();
     // 实例化类
     $ip_info = $Ip->getlocation($this->getClientIp());
     // 获取某个IP地址所在的位置
     if (!empty($log_list)) {
         foreach ($log_list as $key => $val) {
             $log_list[$key]['operation_time'] = date('Y-m-d H:i:s', $val['operation_time']);
             $info = unserialize($val['operation_ip']);
             $log_list[$key]['operation_ip'] = "地区:" . $info['area'] . ',城市:' . $info['country'] . ',IP:' . $info['ip'];
         }
         return $log_list;
     } else {
         return false;
     }
 }
Пример #30
0
} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
    $onlineip = getenv('REMOTE_ADDR');
} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
    $onlineip = $_SERVER['REMOTE_ADDR'];
}
*/
$onlineip = getIP();
$onlineip = preg_replace("/^([\\d\\.]+).*/", "\\1", $onlineip);
//echo $onlineip;
// 以上为获取IP
//$onlineip="58.244.35.16";
$onlineip0 = strtoint($onlineip);
$x = " 您的IP段不在规定范围内!";
$ips = @file("ip.txt");
//打开ip文件
$j = @count($ips);
for ($i = 0; $i < $j; $i++) {
    $starstr = @explode("-", $ips[$i]);
    //if($starstr[0]<=$onlineip and $onlineip>=$starstr[1]){
    $a = strtoint($starstr[0]);
    $b = strtoint($starstr[1]);
    //if (strcmp($onlineip,$a) >= 0 && strcmp($onlineip,$b) <= 0){
    if ($onlineip0 >= $a && $onlineip0 <= $b) {
        $x = "您的IP段在规定范围内!<br />" . $starstr[0] . "<=" . $onlineip . "<=" . $starstr[1] . "<br />";
        break;
    }
}
echo $x . "<br>" . $onlineip;
$ipCity = new IpLocation('include/ipdata/QQWry.Dat');
$uCity = $ipCity->getlocation($onlineip);
var_dump($uCity);