You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

280 lines
8.9 KiB

<?php
function get_ip_info($q)
{
if( empty($q) OR $q == '0.0.0.0' OR $q == '127.0.0.1') return FALSE;
$key = "2017082622061381677054";
$url = "http://whois.kisa.or.kr/openapi/whois.jsp?query={$q}&key={$key}&answer=json";
$query = file_get_contents($url);
if( $query )
{
$result= json_decode($query, TRUE);
$data=array();
$data['countryCode'] = $result['whois']['countryCode'];
$data['country'] = get_country_name($data['countryCode']);
$result = isset($result['whois']['korean']) && $result['whois']['korean'] ?$result['whois']['korean'] : array();
$data['addr'] = isset($result['user']['netinfo']['addr']) && $result['user']['netinfo']['addr'] ? $result['user']['netinfo']['addr'] : '' ;
$data['org'] = isset($result['user']['netinfo']['orgName']) && $result['user']['netinfo']['orgName'] ? $result['user']['netinfo']['orgName'] : '';
return $data;
}
return FALSE;
}
function get_country_name($code)
{
$code = strtoupper($code);
$countryList = array(
"AD" => "안도라",
"AE" => "아랍에미리트",
'AF' => '아프가니스탄',
"AG" => "앤티가 바부다",
"AI" => "앵궐라",
"AL" => "알바니아",
"AM" => "아르매니아",
"AN" => "네덜란드령 안틸레스",
'AO' => '앙골라',
'AQ' => '남극',
'AR' => '아르헨티나',
'AS' => '아메리칸사모아',
'AT' => '오스트리아',
"AU" => "호주",
'AW' => '아루바',
'AX' => '올란드 제도',
'AZ' => '아제르바이잔',
'BA' => '보스니아 헤르체고비나',
'BB' => '바베이도스',
'BD' => '방글라데시',
'BE' => '벨기에',
'BF' => '부르키나파소',
'BG' => '불가리아',
'BH' => '바레인',
'BI' => '부룬디',
'BJ' => '베냉',
'BM' => '버뮤다',
'BN' => '브루나이',
'BO' => '볼리비아',
'BR' => '브라질',
'BS' => '바하마',
'BT' => '부탄',
'BV' => '부베 섬',
'BW' => '보츠와나',
'BY' => '벨라루스',
'BZ' => '벨리즈',
'CA' => '캐나다',
'CC' => '코코스 제도',
'CD' => '콩고 민주 공화국',
'CF' => '중앙아프리카 공화국',
'CG' => '콩고 공화국',
"CH" => '스위스',
"CI" => "코트디부아르",
"CK" => '쿡 제도',
"CL" => '칠레',
"CM" => '카메룬',
'CN' => '중화인민공화국',
'CO' => '콜롬비아',
'CR' => '코스타리카',
'CS' => '세르비아 몬테네그로',
'CU' => '쿠바',
'CV' => '카보베르데',
'CX' => '크리스마스 섬',
'CY' => '키프로스',
'CZ' => '체코',
'DE' => '독일',
'DJ' => '지부티',
'DK' => '덴마크',
'DM' => '도미니카',
'DO' => '도미니카 공화국',
'DZ' => '알제리',
'EC' => '에콰도르',
'EE' => '에스토니아',
'EG' => '이지브',
'EH' => '서사하라',
'ER' => '에리트레아',
'ES' => '스페인',
'ET' => '에티오피아',
'FI' => '핀란드',
'FJ' => '피지',
'FK' => '포클랜드 제도',
'FM' => '미크로네시아 연방',
'FO' => '페로제도',
'FR' => '프랑스',
'GA' => '가봉',
'GB' => '영국',
'GD' => '그레나다',
'GE' => '그루지야',
'GF' => '프랑스령 기아나',
'GH' => '가나',
'GI' => '지브롤터',
"GL" => '그린란드',
"GM" => '감비아',
'GN' => '기니',
'GP' => '과들루프',
'GQ' => '적도 기니',
'GR' => '그리스',
'GS' => '사우스조지아 사우스샌드위치 제도',
'GT' => '과테말라',
'GU' => '괌',
'GW' => '기니비사우',
'GY' => '가이아나',
'HK' => '홍콩',
'HM' => '허드 맥도널드 제도',
'HN' => '온두라스',
'HR' => '크로아티아',
'HT' => '아이티',
'HU' => '헝가리',
'ID' => '인도네시아',
"IE" => '아일랜드',
"IL" => '이스라엘',
"IN" => '인도',
"IO" => '영국령 인도양 지역',
"IQ" => '이라크',
'IR' => '이란',
"IS" => '아이슬란드',
"IT" => '이탈리아',
"JM" => '자메이카',
"JO" => "요르단",
"JP" => '일본',
"KE" => '케냐',
"KG" => '키르기스스탄',
"KH" => "캄보디아",
"KI" => "키리바시",
"KM" => "코모로",
"KN" => "세인트키츠 네비스",
"KP" => "조선민주주의인민공화국",
"KR" => "대한민국",
"KW" => "쿠웨이트",
"KY" => "케이맨 제도",
"KZ" => "카자흐스탄",
"LA" => "라오스",
"LB" => "레바논",
"LC" => "세인트루시아",
"LI" => "리히텐슈타인",
"LK" => "스리랑카",
"LR" => "라이베리아",
"LS" => "레소토",
"LT" => "리투아니아",
"LU" => "룩셈부르크",
"LV" => "라트비아",
"LY" => "리비아",
"MA" => "모로코",
"MC" => "모나코",
"MD" => "몰도바",
"MG" => "마다가스카르",
"MH" => "마셜 제도",
"MK" => "마케도니아 공화국",
"ML" => "말리",
"MM" => "미얀마",
"MN" => "몽골",
"MO" => "마카오",
"MP" => "북마리아나 제도",
"MQ" => "마르티니크",
"MR" => "모리타니",
"MS" => "몬트세랫",
"MT" => "몰타",
"MU" => "모리셔스",
"MV" => "몰디브",
"MW" => "말라위",
"MX" => "멕시코",
"MY" => "말레이시아",
"MZ" => "모잠비크",
"NA" => "나미비아",
"NC" => "누벨칼레도니",
"NE" => "니제르",
"NF" => "노퍽 섬",
"NG" => "나이지리아",
"NI" => "니카롸과",
"NL" => "네덜란드",
"NO" => "노르웨이",
"NP" => "네팔",
"NR" => "나우루",
"NU" => "니우에",
"NZ" => "뉴질랜드",
"OM" => "오만",
"PA" => "파나마",
"PE" => "페루",
"PF" => "프랑스령 폴리네시아",
"PG" => "파푸아 뉴기니",
"PH" => "필리핀",
"PK" => "파키스탄",
"PL" => "폴란드",
"PM" => "생피에르 미클롱",
"PN" => "핏메언 제도",
"PR" => "푸에르토리코",
"PS" => "팔레스타인",
"PT" => "포르투갈",
"PW" => "팔라우",
"PY" => "파라과이",
"QA" => "카타르",
"RE" => "레위니옹",
"RO" => "루마니아",
"RU" => "러시아",
"RW" => "르완다",
"SA" => "사우디아라비아",
"SB" => "솔로몬 제도",
"SC" => "세이셸",
"SD" => "수단",
"SE" => "스웨덴",
"SG" => "싱가포르",
"SH" => "세인트헬레나",
"SI" => "슬로베니아",
"SJ" => "스발바르 얀마옌",
"SK" => "슬로바키아",
"SL" => "시에라리온",
"SM" => "산마리노",
"SN" => "세네갈",
"SO" => "소말리아",
"SR" => "수리남",
"ST" => "상투메 프린시페",
"SV" => "엘살바도르",
"SY" => "시리아",
"SZ" => "스와질란드",
"TC" => "터크스 케이커스 제도",
"TD" => "차드",
"TF" => "프랑스령 나부와 남극 지역",
"TG" => "토고",
"TH" => "타이",
"TJ" => "타자키스탄",
"TK" => "토켈라우 제도",
"TL" => "동티모르",
"TM" => "투르크메니스탄",
"TN" => "튀니지",
"TO" => "통가",
"TR" => "터키",
"TT" => "트리니다드 토바고",
"TV" => "투발루",
"TW" => "대만",
"TZ" => "탄자니아",
"UA" => "우크라이나",
"UG" => "우간다",
"UM" => "미국령 군소 제도",
"US" => "미국",
"UY" => "우루과이",
"UZ" => "우즈베키스탄",
"VA" => "바티칸 시국",
"VC" => "세인트빈센트 그레나딘",
"VE" => "베네수엘라",
"VG" => "영국령 버진아일랜드",
"VI" => "미국령 버진아일랜드",
"VN" => "베트남",
"VU" => "바누아투",
"WF" => "월리스 푸투나",
"WS" => "사모아",
"YE" => "예맨",
"YT" => "마요트",
"ZA" => "남아프리카 공화국",
"ZM" => "잠비아",
"ZW" => "짐바브웨"
);
if( !$countryList[$code] ) return $code;
else return $countryList[$code];
}