IP 주소에서 위치 가져 오기
PHPIP 주소에서 위치 가져 오기
나는 자신의 위치에 따라 웹 페이지를 사용자 정의 할 수 있도록 IP 주소에서 방문자의 도시, 주 및 국가와 같은 정보를 검색하려고합니다. PHP에서이 작업을 수행 할 수있는 신뢰할 수있는 좋은 방법이 있습니까? 저는 클라이언트 측 스크립팅을위한 JavaScript, 서버 측 스크립팅을위한 PHP 및 데이터베이스 용 MySQL을 사용하고 있습니다.
해결법
-
==============================
1.무료 GeoIP 데이터베이스를 다운로드하고 로컬에서 IP 주소를 조회하거나 타사 서비스를 사용하여 원격 조회를 수행 할 수 있습니다. 이것은 설정이 필요 없기 때문에 더 간단한 옵션이지만 추가적인 대기 시간을 발생시킵니다.
무료 GeoIP 데이터베이스를 다운로드하고 로컬에서 IP 주소를 조회하거나 타사 서비스를 사용하여 원격 조회를 수행 할 수 있습니다. 이것은 설정이 필요 없기 때문에 더 간단한 옵션이지만 추가적인 대기 시간을 발생시킵니다.
사용할 수있는 제 3의 서비스는 내 것, http://ipinfo.io입니다. 호스트 이름, 위치 정보, 네트워크 소유자 및 추가 정보를 제공합니다 (예 :
$ curl ipinfo.io/8.8.8.8 { "ip": "8.8.8.8", "hostname": "google-public-dns-a.google.com", "loc": "37.385999999999996,-122.0838", "org": "AS15169 Google Inc.", "city": "Mountain View", "region": "CA", "country": "US", "phone": 650 }
다음은 PHP 예제입니다.
$ip = $_SERVER['REMOTE_ADDR']; $details = json_decode(file_get_contents("http://ipinfo.io/{$ip}/json")); echo $details->city; // -> "Mountain View"
클라이언트 쪽에서 사용할 수도 있습니다. 다음은 간단한 jQuery 예제입니다.
$ .get ( "https://ipinfo.io/json", function (response) { $ ( "# ip"). html ( "IP :"+ response.ip); $ ( "# address"). html ( "위치 :"+ response.city + ","+ response.region); $ ( "# details") .html (JSON.stringify (response, null, 4)); }, "jsonp");
'PHP' 카테고리의 다른 글
PHP에서 문자열을 특정 문자 수와 가장 가까운 단어로 자르는 방법? (0) | 2018.09.07 |
---|---|
PHP를 사용하여 crontab 작업을 작성, 편집 및 삭제 하시겠습니까? (0) | 2018.09.07 |
PHP 스크립트를 프로파일 링하는 가장 간단한 방법 (0) | 2018.09.07 |
PHP 세션 고정 / 하이재킹 (0) | 2018.09.07 |
열에 여러 값이있는 쿼리 (0) | 2018.09.07 |