<?php namespace app\controller; use support\Request; use Webman\Captcha\CaptchaBuilder; use support\View; use Respect\Validation\Validator as v; use support\Redis; use GeoIp2\Database\Reader; class api { public function search(Request $request) { $content=$request->input('content','0'); $contenttype=v::ip()->validate($content); if(!$contenttype){ $contenttype=v::domain(false)->validate($content); if(!$contenttype){ return '请输入合法的IP或域名'; }else{ $contenttype='domain'; } }else{ $contenttype='ip'; $msg['host']=gethostbyaddr("$content"); $reader = new Reader(base_path().'/geoip/GeoLite2-City/GeoLite2-City.mmdb'); $locate=$reader->city($content); $country=$locate->raw['country']['names']['zh-CN']; if(array_key_exists("city",$locate->raw)){ $city=$locate->raw['city']['names']['zh-CN']; }else{ $city=$country; } $msg['location']="$city/$country"; $msg['Network']=$locate->traits->validAttributes[17]; $asnreader= new Reader(base_path().'/geoip/GeoLite2-ASN/GeoLite2-ASN.mmdb'); $asn=$asnreader->Asn("$content"); $asnnumber=$asn->autonomousSystemNumber; $msg['ASN']="<a href='//whois.ipip.net/AS$asnnumber' target='_ipip'>AS:".$asnnumber.'/'.$asn->autonomousSystemOrganization.'</a>'; } View::assign('msg', $msg); return view('print'); } }