• Speedtest Internet
  • Test Code
  • Nén CSS
  • Chuyển đổi định dạng Webp
  • Mã Hóa URL
  • Shorturl
  • Login
Blog thủ thuật máy tính f4vnn
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
  • 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
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
# QUÀ TẶNG VÀ KHUYẾN MẠI
  • Đăng ký tên miền tên miền .com chỉ 199k: TẠI ĐÂY
  • Hosting giá rẻ chất lượng cao chỉ 49k/tháng: TẠI ĐÂY
  • Cloud VPS giá rẻ chất lượng cao chỉ 120k/tháng: TẠI ĐÂY
  • Website giá rẻ chỉ 2.388k: TẠI ĐÂY

  • 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

    7 tiện ích mở rộng ChatGPT cho Chrome bạn có thể sử dụng

    7 tiện ích mở rộng ChatGPT cho Chrome bạn có thể sử dụng

    02/02/2023
    Hướng dẫn thêm tìm kiếm theo danh mục cho wordpress không cần Plugin

    Hướng dẫn thêm tìm kiếm theo danh mục cho wordpress không cần Plugin

    10/01/2023
    Hướng dẫn cách chuyển tên sản phẩm thành h3 trong WooCommerce

    Hướng dẫn cách chuyển tên sản phẩm thành h3 trong WooCommerce

    06/01/2023
    Hướng dẫn sửa lỗi System Idle Process chiếm CPU cao trên Windows 11

    Hướng dẫn sửa lỗi System Idle Process chiếm CPU cao trên Windows 11

    23/12/2022
    Chia sẻ Theme WordPress Wap Game chuyển từ html sang wordpress cực mượt

    Chia sẻ Theme WordPress Wap Game chuyển từ html sang wordpress cực mượt

    14/12/2022

    ☷ BÀI VIẾT XEM NHIỀU

    • Chuyển từ Google Slides sang PowerPoint và ngược lại 35.2k views
    • Làm thế nào để dừng Fixing Stage 1 trong Windows 10 30.3k views
    • Sửa lỗi Run-time error 1004 không thể chạy Macro trong Excel 17.6k views
    • Sửa lỗi A JavaScript error occurred in the main process trên Windows 10 16.6k views
    • Cách sửa lỗi Runtime Error 1004 trong Microsoft Excel 13.6k views
    • Cách sửa lỗi Bad Image 0xc000012f trong Windows 10 11.9k 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
    • Truyện Ma
    • 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