Script PHP : Cara Membuat IP Lookup Sederhana

Script PHP : Cara Membuat IP Lookup Sederhana

DailyBlog.id - Pada artikel kali ini saya akan memberikan tutorial bagaimana membuat IP Lookup yang sederhana dengan Script PHP. Dengan adanya IP Lookup, kita bisa mendapatkan detail informasi yang didapatkan dari IP tersebut (seperti: Negara, Kota, Koordinat, dll). Maka dari itu sangatlah penting kita menggunakan IP Lookup ini untuk mengetahui informasi yang ada dari IP. Untuk membuat IP Lookup tersebut, disini saya menggunakan API dari Ipinfo. Sebenarnya ada cara lain yaitu menggunakan shell yang diexecute, namun menurut saya jika menggunakan shell akan terlalu ribet untuk mengambil output yang ada. Maka dari itu lebih mudah untuk menggunakan API dari Ipinfo.

Tidak perlu lama-lama lagi, berikut ini cara membuat IP Lookup yang sederhana menggunakan Script PHP.

Cara Membuat IP Lookup Sederhana

1. Jika kalian menggunakan XAMPP atau semacamnya, pastikan sudah aktif. Dan jika menggunakan langsung di server kalian, maka langsung saja ke langkah ke-2.

2. Setelah itu kalian bisa buat file baru dengan nama iplookup.php (contoh saja).  Lalu copy dan deklarasi variable berikut ini:

$ip = $_SERVER['REMOTE_ADDR'];
$token = '';
$get_json = 'http://ipinfo.io/'.$ip.'?token='.$token;

Nah untuk token sendiri, kalian bisa berlangganan di ipinfo.io nya.

  • $ip = Digunakan untuk mengambil / mendapatkan IP dari client.
  • $token = Isikan token langganan kalian dari ipinfo.io
  • $get_json = Merupakan URL API dari ipinfo.io

3. Lalu untuk mendapatkan informasi dari IP nya, kalian bisa file get contents dari ipinfo.io, setelah itu decode jsonnya. Dengan cara:

$get_json = file_get_contents($get_json);
$decode_json = json_decode($get_json);


  • $get_json = Mengambil output JSON dari URL API
  • $decode_json = Men-decode JSON dari $get_json

4. Jika sudah saatnya menentukan IP tersebut terdaftar atau tidak, atau merupakan IP Lokal dengan cara:

if (isset($decode_json->bogon) && $decode_json->bogon)
    echo 'Tidak dapat mengenal IP atau IP tersebut merupakan IP Lokal.';


5. Untuk mengambil object ASN, City, Region, dll dari jsonnya. Sebagai contoh:

{
  "ip": "216.239.38.120",
  "hostname": "any-in-2678.1e100.net",
  "anycast": true,
  "city": "Mountain View",
  "region": "California",
  "country": "US",
  "loc": "37.4056,-122.0775",
  "org": "AS15169 Google LLC",
  "postal": "94043",
  "timezone": "America/Los_Angeles"
}



kalian bisa copy script yang ada di bawah ini:

$asn = isset($decode_json->org) ? $decode_json->org : '-';
$hostname = isset($decode_json->hostname) ? $decode_json->hostname : '-';
$anycast = isset($decode_json->anycast) ? ($decode_json->anycast ? 'Ya' : 'Tidak') : '-';
$city = isset($decode_json->city) ? $decode_json->city : '-';
$region = isset($decode_json->region) ? $decode_json->region : '-';
$country = isset($decode_json->country) ? $decode_json->country : '-';
$location = isset($decode_json->loc) ? $decode_json->loc : '-';
$postal = isset($decode_json->postal) ? $decode_json->postal : '-';
$timezone = isset($decode_json->timezone) ? $decode_json->timezone : '-';


6. Dan langkah terakhir yaitu membuat tampilan IP Lookupnya

<b>ASN: </b><?=$asn?><br/>
<b>Hostname: </b><?=$hostname?><br/>
<b>Anycast: </b><?=$anycast?><br/>
<b>City: </b><?=$city?><br/>
<b>Region: </b><?=$region?><br/>
<b>Country: </b><?=$country?><br/>
<b>Coordinates: </b><?=$location?><br/>
<b>Postal: </b><?=$postal?><br/>
<b>Timezone: </b><?=$timezone?><br/>


Maka untuk script lengkapnya, kalian bisa copy script yang ada di bawah ini:

<?php

$ip = $_SERVER['REMOTE_ADDR'];
$token = '';
$get_json = 'http://ipinfo.io/'.$ip.'?token='.$token;
$get_json = file_get_contents($get_json);
$decode_json = json_decode($get_json);

echo '<b>IP: </b>'.(isset($ip) ? $ip : '-').'<br/>';
if (isset($decode_json->bogon) && $decode_json->bogon): ?>
    Tidak dapat mengenal IP atau IP tersebut merupakan IP Lokal.
<?php else:
    $asn = isset($decode_json->org) ? $decode_json->org : '-';
    $hostname = isset($decode_json->hostname) ? $decode_json->hostname : '-';
    $anycast = isset($decode_json->anycast) ? ($decode_json->anycast ? 'Ya' : 'Tidak') : '-';
    $city = isset($decode_json->city) ? $decode_json->city : '-';
    $region = isset($decode_json->region) ? $decode_json->region : '-';
    $country = isset($decode_json->country) ? $decode_json->country : '-';
    $location = isset($decode_json->loc) ? $decode_json->loc : '-';
    $postal = isset($decode_json->postal) ? $decode_json->postal : '-';
    $timezone = isset($decode_json->timezone) ? $decode_json->timezone : '-'; ?>

    <b>ASN: </b><?=$asn?><br/>
    <b>Hostname: </b><?=$hostname?><br/>
    <b>Anycast: </b><?=$anycast?><br/>
    <b>City: </b><?=$city?><br/>
    <b>Region: </b><?=$region?><br/>
    <b>Country: </b><?=$country?><br/>
    <b>Coordinates: </b><?=$location?><br/>
    <b>Postal: </b><?=$postal?><br/>
    <b>Timezone: </b><?=$timezone?><br/>
<?php endif ?>


Dan untuk contoh hasilnya, saya menggunakan IP dari Google yaitu 216.239.38.120



Nah gimana, sangat mudah kan untuk membuat IP Lookup? ya meskipun sederhana dan kekurangannya menggunakan token yang harganya sangat mahal menurut saya.

Mungkin sampai disini saja artikel tutorial dari saya, semoga artikel tutorial ini dapat bermanfaat bagi kalian semuanya. Jika saya ada salah kata, saya mohon maaf. Sekian dan terima kasih....

Selamat mencoba!...

Posting Komentar (0)
Lebih baru Lebih lama