Trang chủ Lập trình PHP - MySQL Khai thác thông tin người dùng qua IP bằng PHP

Khai thác thông tin người dùng qua IP bằng PHP

Dạo này viết về JavaScript nhiều quá nên nay đổi gió viết 1 bài nhỏ về PHP nhé. Như trên tiêu đề đã nói rõ bài viết này mình sẽ cùng các bạn khai thác thông tin người dùng từ địa chỉ IP của họ.

Bạn sẽ tự hỏi khai thác thông tin đó thì có giá trị gì ? Có chứ. Ví dụ như website bạn chỉ cho khách truy cập từ một quốc gia nào đó thì với việc khai thác thông tin người dùng sẽ giúp bạn có được thông tin lãnh thổ quốc gia của người khách đó và bạn có thể cho hoặc ngăn họ truy cập. Nói chung là nhiều tiện ích khác nữa tùy vào nhu cầu người quản trị web muốn. Thật ra trước kia mình đã share code IP2Country và hướng dẫn các lấy thông tin từ IP bằng ngôn ngữ JavaScript rồi và nay mình xin nói thêm cách sử dụng PHP cho các bạn cần luôn. Thôi bắt đầu nhé.

Nói chung là việc từ IP dò ra thông tin khách hàng người dùng thì bạn cần có phải có một cơ sở thông tin chứa những địa chỉ này và một số thiết bị cần thiết. Điều này thì mình làm gì có đủ khả năng nên giải pháp cho mình sẽ là sử dụng API từ một dịch vụ nào đó và khai thác từ đây. Có rất nhiều trang web dịch vụ cung cấp API cho người dùng về vấn đề này. Liệt kê ra như: Telize, FreeGeoIP, CodeHelper, Smart-IP… Tùy vào nhà cung cấp mà bạn sẽ được cung cấp ít hay nhiều các thông tin như: quốc gia, kinh độ, vĩ độ, múi giờ, tiền tệ,… Vậy tùy vào nhu cầu dữ liệu cần sử dụng mà bạn chọn API cho phù hợp.

Một lưu ý nhỏ là bạn cũng cần quan tâm đến tính ổn định của nhà cung cấp API. Ví dụ như mình trước kia dùng API của thằng CodeHelper tự nhiên có giai đoạn thấy website sao ít lượt truy cập mà không hiểu lý do. Chẳng hiểu tại sao và đến khi viết bài này (lúc test code) thì mới phát hiện ra API thằng này bị chết :Tired:

Ở bài viết này mình sẽ sử dụng API cả thằng FreeGeoIP nhé.

Liệt kê các công việc cần làm là:

  • Nhận diện IP người dùng
  • Gửi IP này cho trang web API
  • Nhận thông tin trả về

Đầu tiên để lấy thông tin IP người dùng. Việc này đơn giản vì PHP hỗ trợ hàm này là

Thằng FreeGeoIP sẽ nhận và trả IP ở phương thức GET trong giao thức HTTP có dạng là: http://freegeoip.net/json/46.19.37.108 (trong đó 46.19.37.108 là IP người dùng). Và ta có thể lấy thông tin trả về bằng hàm file_get_contents() (hàm này mình từng giới thiệu trong bài viết “Tạo dịch vụ rút gọn link thông qua TinyURL” cũng như “Hướng dẫn tạo một trang web proxy đơn giản” nếu chưa rõ nó làm gì thì bạn có thể lục lại 2 bài viết này nhé :Who-s-the-man: ).

Dữ liệu trả về có định dạng JSON và bạn có thể dùng hàm json_decode() để đưa dữ liệu về dạng mảng chuẩn PHP. Đây là hàm cụ thể.

Vậy là xong giờ bạn biết phải làm gì với mớ dữ liệu đó rồi chứ.

Trang web mẫu mình đã làm đây http://mangbinhdinh.vn/demo/details_ip.php các bạn có thể tham khảo.

Chúc các bạn thành công.

Huỳnh Mai Anh Kiệt

- Advertisement -
Huỳnh Mai Anh Kiệthttps://www.mangbinhdinh.vn
Anh là một người đam mê công nghệ. Hiện tại anh là một lập trình viên tại Quy Nhơn.

3 BÌNH LUẬN

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây

BÀI VIẾT MỚI

Hướng dẫn tạo bộ đếm lùi thời gian bằng JavaScript

Mới đó mà đã gần nửa năm 2021 trôi qua. Tình hình dịch bệnh COVID-19 cũng chẳng mấy khả quan. Nhưng vẫn cứ hy...

Hướng dẫn tạo hiệu ứng mưa rơi trên trang web với JavaScript

Quy Nhơn chớm bước vào mùa hè với nắng nóng. Những lúc thế này tự nhiên lại thèm những cơn mưa để giải tỏa...

Instagram ra mắt tính năng tạo chú thích tự động cho Stories và Reels

Tiếp bước TikTok, Instagram hiện cũng đã ra mắt tính năng tạo chú thích (caption) tự động của riêng mình. Tính năng mới này đã...

Facebook đã chính thức cập nhật tính năng “bong bóng chat” trên iPhone

Mới đây, Facebook đã chính thức cập nhật tính năng Chat Heads (hay còn gọi là bong bóng chat) trên iPhone, cho phép người...

Facebook Workplace đạt mốc 7 triệu người dùng trả phí

Vào thứ Ba vừa rồi, Facebook vừa mới thông báo ứng dụng Facebook Workplace của họ tính cho tới thời điểm hiện tại đã...

BẠN XEM CHƯA

Công cụ so sánh mức tương đồng của 2 đoạn văn bản trực tuyến

Có rất nhiều công cụ hỗ trợ bạn so sánh độ tương đồng của 2 đoạn văn bản. Đa phần trong số đó là...

Phục hồi danh bạ điện thoại

Nếu điện thoại của bạn bị hỏng phải thay mới hoặc vì lý do gì đó mà danh bạ trong máy bị xoá mất...

Theo chân Apple, Google cắt giảm phí cho các nhà phát triển trên kho ứng dụng Google Play

Google đã quyết định giảm phí dịch vụ mà họ đang thu từ các nhà phát triển đang bán ứng dụng cũng như các...

Tạo trang đăng nhập và đăng xuất ASP.NET

Hôm nay xin chia sẻ với các bạn cách tạo trang đăng nhập và đăng xuất với ngôn ngữ ASP.Net trên nền tảng C#. Ở...

Huawei đã xin cấp bằng sáng chế hệ điều hành Harmony tại Văn phòng Sở hữu Trí tuệ Liên minh Châu Âu

Theo các thông tin dự đoán gần đây thì Huawei sẽ tự mình phát triển một hệ điều hành là Hongmeng để sử dụng...