Save
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
<?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->network;
|
||||
$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');
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user