• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Jaranguda

Belajar Mengajar

  • Home
  • Sponsor/Jasa
  • Tentang

Script Mengambil IP Public Server dengan PHP

Last Updated on 11 July 2019 By tommy Leave a Comment

Untuk mendapatkan public IP dari server yang digunakan oleh PHP, kita harus menggunakan jasa pihak ketiga. Beberapa situs yang bisa digunakan adalah http://ip.jaranguda.com bisa juga menggunakan https://ip.jaranguda.com. Diluar itu ada banyak api.ipify.org, icanhazip.com dan lain sebagainya

Contoh script menampilkan IP publik

<?php
// ip-public.php
$situsInfoIP = file_get_contents("https://ip.jaranguda.com");
echo $situsInfoIP;

contoh eksekusi script diatas

> php /tutorial/ip-public.php 
139.10.22.1

Bergantung pada satu situs, sangat tidak disarankan, kita rubah script diatas agar lebih tahan banting

<?php
// ip-public.php
$situsInfoIP = file_get_contents("https://ip.jaranguda.com");
 
// pastikan IP yang di dapat adalah IP publik, bukan private IP atau lainnya
// bila anda membutuhkan selain IPv4 modifikasi FILTER_FLAG_xxx
if (! filter_var($situsInfoIP, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {
        $situsInfoIP = file_get_contents("http://icanhazip.com");
}
 
echo $situsInfoIP;

Jika anda menjalankan script diatas, dan situs pertama ip.jaranguda.com down ataupun tidak bisa diakses, maka hasilnya jadi berantakan, seperti contoh dibawah ini

PHP Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /tmp/ip-public.php on line 3
PHP Warning: file_get_contents(https://ip.jaranguda.com): failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known in /tmp/ip-public.php on line 3
139.10.22.1

IP memang tetap didapat, tidak seperti rencana awal mendapatkan string yang bisa diolah langsung. Solusinya adalah dengan bantuan symbol at @, @ di PHP dikenal sebagai Error Control Operators

, dalam bahasa sederhana semua error yang muncul akan diabaikan oleh PHP.

<?php
// ip-public.php
$situsInfoIP = @file_get_contents("https://ip.jaranguda.com");
 
// pastikan IP yang di dapat adalah IP publik, bukan private IP atau lainnya
// bila anda membutuhkan selain IPv4 modifikasi FILTER_FLAG_xxx
if (! filter_var($situsInfoIP, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {
        $situsInfoIP = @file_get_contents("http://icanhazip.com");
}
 
echo $situsInfoIP;

Tulisan menarik lainnya

  • Monitoring Uptime Server Linux dengan Script PHP

    Dengan bantuang fungsi shell_exec, scriptnya sangat sederhana uptime.php tapi biasanya di web hosting ngga bisa…

  • Mengecek Server Online Atau Offline dengan PHP

    Script dibawah ini bisa digunakan untuk membuat website seperti Is my website down or not…

  • Validasi Angka dengan Script PHP

    Contoh kasus kita mau validasi nomor rekening yang dimasukkan pengguna di dalam sistem yang dibangun,…

  • Validasi Email dengan PHP

    Tutorial ini bisa dijalankan di PHP 5 >= 5.2.0 Validasi email dengan PHP, dengan validasi…

Filed Under: Linux

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Pencarian

Tanya Jawab tentang DevOps SRE CPE, gabung di https://t.me/devopsindonesia

Terbaru

  • Cara Buat atau Update UID User Docker Image
  • Solusi helm Upgrade Failed
  • macOS package is untrusted
  • Cara Mengganti Port Screen Sharing macOS
  • Cara Menonaktifkan Pager di macOS

Komentar

  • Iqu on Review ISP Fiber Optik Balifiber
  • Sarah on Kemana Menghilangnya Saldo BCA 50 ribu
  • Rizcky on Kemana Menghilangnya Saldo BCA 50 ribu
  • Mubashar sadiq on Password Superadmin Huawei HG8245A
  • Beritalogi on Cara Redirect Domain di Cloudflare

Tulisan Populer

  • Password Router Huawei HG8245H5 Indihome 1.3m views
  • Password Terbaru ZTE F609 Indihome 786k views
  • Password Superadmin Huawei HG8245A 330.5k views
  • Cara Setting Manual Modem GPON ZTE F609 Indihome 275.4k views
  • Cara Setting Wireless ZTE F609 Indihome 260.4k views
  • Mengaktifkan Port LAN di Huawei HG8245 Indihome 172.2k views
  • Kemana Menghilangnya Saldo BCA 50 ribu 162k views
  • Akses UseeTV Indihome via Wireless ZTE F609 157.5k views
  • Cara Reset Password ZTE F609 Indihome 148.5k views
  • Cara Setting DHCP Server Modem/Router ZTE F609 115.5k views

Kategori

  • Delphi
  • dll
  • Gambas
  • Internet
  • Java
  • Lazarus
  • Linux
  • PHP
  • Review
  • Teknologi

Sponsor

kadal.id
carakami.com
kuotabisa.com
Untuk jadi sponsor, hubungi kita lewat halaman sponsor
© 2021. Jaranguda
  • Linux
  • PHP
  • Internet
  • Teknologi
  • Delphi
  • Gambas
  • Java