• Speedtest Internet
  • Test Code
  • Nén CSS
  • Chuyển đổi định dạng Webp
  • Mã Hóa URL
  • Shorturl
Blog thủ thuật máy tính f4vnn
No Result
View All Result
29 Tháng Sáu , 2022
  • Login
  • Trang chủ
  • TIPS COMPUTER
    • WINDOWS
    • SERVER
    • OFFICE
    • SOFTWARE
    • GAME
    • INTERNET
    • SECURITY
  • TIPS MAC – IOS
  • TIPS MOBILE
  • TIPS SOURCE
    • TIPS WORDPRESS
    • TIPS BLOGSPOT
    • OTHER SOURCE
  • TIPS OTHER
  • REVIEWS
  • LYRICS
  • Trang chủ
  • TIPS COMPUTER
    • WINDOWS
    • SERVER
    • OFFICE
    • SOFTWARE
    • GAME
    • INTERNET
    • SECURITY
  • TIPS MAC – IOS
  • TIPS MOBILE
  • TIPS SOURCE
    • TIPS WORDPRESS
    • TIPS BLOGSPOT
    • OTHER SOURCE
  • TIPS OTHER
  • REVIEWS
  • LYRICS
No Result
View All Result
Blog thủ thuật máy tính f4vnn
No Result
View All Result
Home Tips Source Other Source

Hướng dẫn cách kiểm tra địa chỉ IP bằng Abstract API và PHP

Blog Tips f4vnn by Blog Tips f4vnn
11/09/2021
Reading Time: 8 mins read

Nội dung chính

  • Cách kiểm tra địa chỉ IP bằng Abstract API và PHP
    • # Nhận Abstract API Key
    • # Nhận địa chỉ IP của người dùng
    • # Kiểm tra địa chỉ IP bằng Abstract API
    • # Dùng Guzzle
    • # Dùng JavaScript
  • Kết luận

Kiểm tra địa chỉ IP bằng Abstract API và PHP: Khi làm việc trên các ứng dụng, bạn có thể muốn có được vị trí địa lý của người dùng. Dựa trên vị trí địa lý của người dùng, các nội dung khác nhau có thể được phân phát trên trang web. Đó có thể là các mức giá, quảng cáo, ưu đãi khác nhau, v.v. Trong bài viết này, chúng ta sẽ thảo luận về một công cụ tra cứu địa chỉ IP được gọi là Abstract IP geolocation API.

Hướng dẫn cách kiểm tra địa chỉ IP bằng Abstract API và PHP

Cách kiểm tra địa chỉ IP bằng Abstract API và PHP

Trong bài hướng dẫn cách kiểm tra địa chỉ IP bằng Abstract API và PHP này sẽ sử dụng PHP cURL, Guzzle và JavaScript vani để tương tác với API của Abstract.

# Nhận Abstract API Key

Để bắt đầu, trước tiên bạn cần đăng ký với Abstract IP Geolocation API. Họ cung cấp cả gói miễn phí và cao cấp. Trong gói miễn phí, tại thời điểm viết bài này, 20000 yêu cầu mỗi tháng được phép. Tuy nhiên, bạn có thể chọn gói theo yêu cầu của mình.

Sau khi đăng ký, bạn sẽ có quyền truy cập vào trang tổng quan. Từ trang tổng quan, sao chép khóa API sẽ được yêu cầu trong khi gọi API của chúng.

kiem tra dia chi IP bang Abstract API va PHP 1

# Nhận địa chỉ IP của người dùng

Khi bạn đã có khóa API. Tiếp theo, chúng ta cần tìm ra IP của người dùng một cách động. Bạn có thể nghĩ rằng sử dụng $_SERVER[‘REMOTE_ADDR’] có thể lấy trực tiếp địa chỉ IP. Điều này không đúng nếu máy chủ được đặt sau proxy hoặc tường lửa. Chúng ta có thể xử lý các trường hợp như vậy bằng cách sử dụng mã bên dưới.

function getUserIpAddr() {
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}

Trong đoạn mã trên, đã thêm các kiểm tra cho HTTP_CLIENT_IP và HTTP_X_FORWARDED_FOR. 2 biến này cung cấp địa chỉ IP của người dùng từ các máy chủ sử dụng proxy hoặc tường lửa. Nếu cả hai giá trị này không được tìm thấy thì chúng ta nhận được địa chỉ IP bằng cách sử dụng REMOTE_ADDR.

# Kiểm tra địa chỉ IP bằng Abstract API

Tiếp tục và tương tác với API vị trí địa lý IP của Abstract. Đầu tiên chúng ta hãy bắt đầu với cURL PHP. Để sử dụng cURL, hãy đảm bảo rằng tiện ích mở rộng cURL được bật trên máy chủ của bạn.

$ip_address = getUserIpAddr();
$api_key = 'API_KEY';
$url = "https://ipgeolocation.abstractapi.com/v1/?api_key=$api_key&ip_address=$ip_address";
$ch = curl_init();  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$response = curl_exec($ch);
if (curl_errno($ch)) {
    $error_msg = curl_error($ch);
    echo $error_msg;
}
$arr_result = json_decode($response, true);
print_r($arr_result);

Đảm bảo thay thế API_KEY bằng giá trị thực. Khi chạy mã này, bạn sẽ nhận được các thông tin chi tiết như thành phố, quốc gia, múi giờ, vĩ độ và kinh độ, v.v. Đầu ra là một cái gì đó giống như dưới đây.

Array
(
    [ip_address] => 103.47.153.189
    [city] => Pune
    [city_geoname_id] => 1259229
    [region] => Maharashtra
    [region_iso_code] => MH
    [region_geoname_id] => 1264418
    [postal_code] => 411038
    [country] => India
    [country_code] => IN
    [country_geoname_id] => 1269750
    [country_is_eu] => 
    [continent] => Asia
    [continent_code] => AS
    [continent_geoname_id] => 6255147
    [longitude] => 73.7286
    [latitude] => 18.6161
    [security] => Array
        (
            [is_vpn] => 
        )

    [timezone] => Array
        (
            [name] => Asia/Kolkata
            [abbreviation] => IST
            [gmt_offset] => 5
            [current_time] => 16:11:33
            [is_dst] => 
        )

    [flag] => Array
        (
            [emoji] => IN
            [unicode] => U+1F1EE U+1F1F3
            [png] => https://static.abstractapi.com/country-flags/IN_flag.png
            [svg] => https://static.abstractapi.com/country-flags/IN_flag.svg
        )

    [currency] => Array
        (
            [currency_name] => Indian Rupee
            [currency_code] => INR
        )

    [connection] => Array
        (
            [autonomous_system_number] => 134006
            [autonomous_system_organization] => Sheng Li Telecom India Private Limited
            [connection_type] => Corporate
            [isp_name] => Sheng Li Telecom India Private Limited
            [organization_name] => Sheng Li Telecom India Private Limited
        )

)

Người ta có thể không muốn tất cả thông tin này. Bạn có thể giới hạn phản hồi bằng cách chuyển tham số các trường. Giả sử bạn chỉ muốn nhận được thành phố và quốc gia. Sau đó xây dựng URL như sau.

$url = "https://ipgeolocation.abstractapi.com/v1/?api_key=$api_key&ip_address=$ip_address&fields=city,country";

Trên trang web của bạn, bạn có thể nhận được một số khách truy cập đang sử dụng VPN. VPN gây khó khăn cho việc tìm địa chỉ IP thực của người dùng. Địa chỉ IP bạn nhận được từ máy chủ là của VPN chứ không phải của khách truy cập.

Trong phản hồi của Abstract API, nó cũng cung cấp giá trị của VPN bằng cách sử dụng $arr_result[‘security’][‘is_vpn’]. Nếu giá trị này không trống, điều đó có nghĩa là khách truy cập đang sử dụng VPN và không có cách nào để lấy địa chỉ IP ban đầu của họ.

# Dùng Guzzle

Trong trường hợp của các framework PHP như Laravel hoặc các framework khác, bạn có thể muốn sử dụng Guzzle. Guzzle là một máy khách HTTP PHP để gửi các yêu cầu HTTP và nhận một phản hồi HTTP. Nó là một thay thế cho cURL PHP.

Để sử dụng Guzzle, hãy cài đặt nó bằng lệnh dưới đây.

composer require guzzlehttp/guzzle

Sau đó, hãy viết mã bên dưới để gọi Abstract API thông qua thư viện Guzzle.

<?php
require_once "vendor/autoload.php";
  
use GuzzleHttp\Client;
  
$ip_address = getUserIpAddr();
$api_key = 'API_KEY';
 
try {
    $client = new Client([
        // Base URI is used with relative requests
        "base_uri" => "https://ipgeolocation.abstractapi.com",
    ]);
       
    $response = $client->request("GET", "/v1/", [
        "query" => [
            "api_key" => $api_key,
            "ip_address" => $ip_address,
        ]
    ]);
       
    //get status code using $response->getStatusCode();
  
    $body = $response->getBody();
    $arr_result = json_decode($body, true);
    print_r($arr_result);
} catch(Exception $e) {
    echo $e->getMessage();
}

# Dùng JavaScript

Giống như PHP, bạn thậm chí có thể tương tác với Abstract API bằng JavaScript. Có lẽ hầu hết trong khung JavaScript, bạn có thể cần nó.

var ip_address = 'IP_ADDRESS';
var api_key = 'API_KEY';
 
fetch('https://ipgeolocation.abstractapi.com/v1/?api_key='+api_key+'&ip_address='+ip_address)
.then(response => response.json())
.then(data => {
    console.log(data);
});

Kết luận

Tìm vị trí địa lý theo địa chỉ IP là điều cần thiết trong một số trường hợp nhất định. Nó sẽ giúp người dùng tìm ra lựa chọn phù hợp nhất cho dự án của mình. Hy vọng với cách kiểm tra địa chỉ IP bằng Abstract API và PHP mà Blog thủ thuật máy tính f4vnn đã chia sẻ sẽ có ích với bạn. Chúc bạn thành công.

Bài Viết Cùng Chuyên Mục
Game & Apk Mod Acapella Việt Nhạc DJ Liên Kết URL
Tags: cách kiểm tra địa chỉ IP bằng Abstract API và PHPcheck IP address using Abstract API and PHPhow to check IP address using Abstract API and PHPHướng dẫn cách kiểm tra địa chỉ IP bằng Abstract API và PHPkiểm tra địa chỉ IP bằng Abstract API
ShareTweetPinShare1ShareShare

Related Posts

Tiện ích viết và thử nghiệm code trên trình duyệt Chrome

Tiện ích viết và thử nghiệm code trên trình duyệt Chrome

05/12/2020
Hướng dẫn cách mở file PY trên windows 10

Hướng dẫn cách mở file PY trên windows 10

29/11/2020

Firefox Performance kiểm tra khả năng phản hồi website

29/11/2020

Cài đặt Symfony 5 với PHP 7.4 với Nginx Let Encrypt

29/11/2020

Hướng dẫn làm widget dạng tab cho XenForo 2

29/11/2020

Thêm huy hiệu/banner User Info XenForo 2

29/11/2020
Next Post
Hướng dẫn 3 cách sửa lỗi không kết nối tài khoản Spotify với Discord

Hướng dẫn 3 cách sửa lỗi không kết nối tài khoản Spotify với Discord

Hướng dẫn cách bật và sử dụng Remote Desktop trên Windows 11

Hướng dẫn cách bật và sử dụng Remote Desktop trên Windows 11

☊ BLOG NGHE NHẠC DJ

slide-dj24h

Receive updates of our latest tutorials.

By signing up, you agree to our Privacy Policy.

Facebook logoTwitter logoLinked-in logo

✪ TÌM KIẾM NHANH TRÊN GOOGLE

Mẹo để tìm kiếm nhanh cách sửa lỗi bạn vào Google gõ tên lỗi + từ khóa f4vnn!

☷ BÀI VIẾT MỚI NHẤT

Hướng dẫn 5 sửa lỗi Secure Boot chuyển sang màu xám trên Bios

Hướng dẫn 5 sửa lỗi Secure Boot chuyển sang màu xám trên Bios

27/06/2022
Hướng dẫn 3 cách sửa lỗi Safari Cannot Download a File

Hướng dẫn 3 cách sửa lỗi Safari Cannot Download a File

24/06/2022
Hướng dẫn cách chuyển dữ liệu trong Remote Desktop trên Windows 11

Hướng dẫn cách chuyển dữ liệu trong Remote Desktop trên Windows 11

23/06/2022
Lời bài hát kèm Acapella Vocal Vì Mẹ Anh Bắt Chia Tay Miu Lê

Lời bài hát kèm Acapella Vocal Vì Mẹ Anh Bắt Chia Tay Miu Lê

22/06/2022
Hướng dẫn cách tạo phong cách cho ảnh màn hình khóa iPhone trên IOS 16

Hướng dẫn cách tạo phong cách cho ảnh màn hình khóa iPhone trên IOS 16

20/06/2022

☷ BÀI VIẾT XEM NHIỀU

  • Chuyển từ Google Slides sang PowerPoint và ngược lại 26.8k views
  • Làm thế nào để dừng Fixing Stage 1 trong Windows 10 25.6k views
  • Sửa lỗi A JavaScript error occurred in the main process trên Windows 10 15.5k views
  • Sửa lỗi Run-time error 1004 không thể chạy Macro trong Excel 14.2k views
  • Cách sửa lỗi Runtime Error 1004 trong Microsoft Excel 11.2k views
  • Cách sửa lỗi Bad Image 0xc000012f trong Windows 10 10.4k views
Blog thủ thuật máy tính f4vnn

© 2021 Blog Tips F4vnn - Chia sẻ thủ thuật công nghệ.

Giới thiệu & Bạn bè

  • Chính sách
  • Quy định
  • About Us
  • DMCA
  • Nhạc DJ24h
  • Game & App
  • Vocal

Follow Us

No Result
View All Result
  • Trang chủ
  • TIPS COMPUTER
    • WINDOWS
    • SERVER
    • OFFICE
    • SOFTWARE
    • GAME
    • INTERNET
    • SECURITY
  • TIPS MAC – IOS
  • TIPS MOBILE
  • TIPS SOURCE
    • TIPS WORDPRESS
    • TIPS BLOGSPOT
    • OTHER SOURCE
  • TIPS OTHER
  • REVIEWS
  • LYRICS

© 2021 Blog Tips F4vnn - Chia sẻ thủ thuật công nghệ.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In