ฅ 烟 雨 吖!

php利用淘宝ip库获取ip归属地
哎。。。。虽说是发干货,但是也不知道从何写起 ::aru:knife:: 就在今晚!没错!!!今晚!!!薄荷荷给我...
扫描右侧二维码阅读全文
09
2018/07

php利用淘宝ip库获取ip归属地

哎。。。。虽说是发干货,但是也不知道从何写起
就在今晚!没错!!!今晚!!!薄荷荷给我说我的代挂授权站卡,于是乎我就开始着手分析这个问题,一开始以为是sql的问题,因为授权站的数据库比较庞大,经过几轮排查发现没有什么鸟问题 ,这尼玛我就头大了,后来不经意间脑海中闪过一个骚操作,因为我发现前几天每次查看日志的时候就会卡的吃屎,今天直接502进不去了,emmmm开始看代码,然后下面一行代码引起了我的注意

$city=get_ip_city($clientip);
$DB->query("insert into `auth_log` (`uid`,`type`,`date`,`city`,`data`) values ('".$udata['user']."','查看日志','".$date."','".$city."','无')");

可以看出,在每次查看日志的时候会获取一下ip归属的城市地址然后写入auth_log这个表,sql部分肯定没问题的,然后我在function.php找到了get_ip_city这个函数,代码如下:

function get_ip_city($ip)
{
    $url = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=';
    @$city = curl_get($url . $ip);
    $city = json_decode($city, true);
    if ($city['city']) {
        $location = $city['province'].$city['city'];
    } else {
        $location = $city['province'];
    }
    if($location){
        return $location;
    }else{
        return false;
    }
}

看起来没什么卵问题啊。。。。调用的新浪ip库,emmmm访问一下看看返回什么,纳尼?!!根本无法访问进去!我特么瞬间心中无数只草泥马,原来就是这鬼玩意炸了,然后百度找了找,发现淘宝也有个ip库,地址:http://ip.taobao.com/instructions.html,用自己蹩脚的技术写了一个函数,因为我授权站是二开的彩虹的程序,相信也有很多人用他的程序吧,他程序都用的新浪ip库,所以呢都是炸的。。。。。说那么多屁话没用,直接上代码

function get_ip_city($ip)
{
$url="http://ip.taobao.com/service/getIpInfo.php?ip=".$ip;
$ipinfo=json_decode(file_get_contents($url));
if($ipinfo->code=='1'){
return false;
}
$location = $ipinfo->data->region.$ipinfo->data->city;
return $location;
}

妈耶,感觉我发的不是教程而是写日记了。。。。不管了,希望我这篇文章可以帮助到一些朋友!

最后修改:2018 年 07 月 09 日 11 : 57 PM
如果觉得我的文章对你有用,请随意赞赏

2 条评论

  1. ~魔法使之家~

    要是我估计就直接ip138了_(:з)∠)_

  2. Rinvay

    可以可以,有时候就是这些小东西很有用

发表评论