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 khai báo thuế TNCN trực tuyến cho cá nhân mảng kinh doanh nội dung số

Mình là 1 freelancer kiểu kiếm tiền trực tuyến mà được ngành thuế đưa vào mảng cá nhân kinh doanh nội dung số. Nếu...

Bột ngọt Vị Hương Tố – Thương hiệu bột ngọt nổi tiếng trước 75 và ly kỳ chuyện “châu chấu đá xe”

Hai nhãn hiệu Ajinomoto và Vedan có mặt tại Việt Nam vào thập niên 1950, đã chiếm lĩnh toàn bộ thị trường trong nước....

Pixel 6, chiếc điện thoại sắp ra mắt của Google

Nổi tiếng với danh hiệu "cha đẻ của hệ điều hành Android", nhưng ít ai biết Google cũng sở hữu cho mình một dòng...

Chụp ảnh nguyên trang web với công cụ trực tuyến Site-Shot

Ngày nay có rất nhiều công cụ giúp bạn chụp ảnh màn hình và trong số đó cũng có nhiều công cụ hỗ trợ...

Cách tạo thanh thông báo trượt trên đầu trang web Shopify

Thông báo trên đầu trang (announcement bar) là vị trí cũng như giải pháp tốt nhất để truyền tải thông điệp đến khách truy...

BẠN XEM CHƯA

Sổ Tay Sức Khỏe COVID-19 – Đại Học Y Dược Tp.HCM

Đây là cuốn Sổ tay sức khoẻ phòng chống dịch Covid-19 do đội ngũ bác sĩ, giảng viên và đoàn viên thanh niên Trường...

Vietcombank đã hỗ trợ đổi tên truy cập dịch vụ ngân hàng trực tuyến [email protected]

Mới đây trong một email gửi đến khách hàng của mình thì Vietcombank (Ngân hàng thương mại cổ phần Ngoại thương Việt Nam) đã...

Hướng dẫn tạo shortcut để mở nhanh trình duyệt web chế độ ẩn danh

Các trình duyệt web hỗ trợ người dùng chế độ ẩn danh (private) giúp ẩn danh tính khi truy cập Inetnet bằng cách không...

Đồng bộ hóa tên miền – Phương thức tấn công lừa đảo nguy hiểm vô cùng

Thông thường tên miền được giới hạn bởi các chữ cái ASCII từ a đến z (không phân biệt hoa thường), chữ số từ...

Thay đổi DNS nhanh với DNS Jumper

Thay đổi máy chủ phân giải tên miền (DNS) giúp người sử dụng internet có thể thoải mái truy cập các trang web mà...