PHP lấy được thông tin IP, hệ điều hành và trình duyệt của người dùng như thế nào?

Các yêu cầu HTTP được bắt đầu bằng trình duyệt thường bao gồm mã nhận dạng nhận dạng. Nó được gọi là User Agent hay viết tắt là UA. Nó là một chuỗi chứa thông tin cơ bản về khách hàng. Thông qua nó, bạn có thể dễ dàng lấy được thông tin về hệ điều hành, ngôn ngữ, trình duyệt và phiên bản của khách hàng. Chúng ta có thể sử dụng PHP để phân tích các mã này nhằm xác định thông tin truy cập của người dùng, v.v.

PHP chỉ cần lấy mã thông tin Tác nhân người dùng

echo $_SERVER['HTTP_USER_AGENT'];

PHP lấy thông tin hệ điều hành khách

<?php
function GetOs() {
    if (!empty($_SERVER['HTTP_USER_AGENT'])) {
        $OS = $_SERVER['HTTP_USER_AGENT'];
        if (preg_match('/win/i', $OS)) {
            $OS = 'Windows';
        } elseif (preg_match('/mac/i', $OS)) {
            $OS = 'MAC';
        } elseif (preg_match('/linux/i', $OS)) {
            $OS = 'Linux';
        } elseif (preg_match('/unix/i', $OS)) {
            $OS = 'Unix';
        } elseif (preg_match('/bsd/i', $OS)) {
            $OS = 'BSD';
        } else {
            $OS = 'Other';
        }
        return $OS;
    } else {
        return "Không thể lấy được thông tin hệ điều hành khách!";
    }} ?>

 

PHP lấy thông tin trình duyệt của khách truy cập

<?php
function GetBrowser() {
    if (!empty($_SERVER['HTTP_USER_AGENT'])) {
        $br = $_SERVER['HTTP_USER_AGENT'];
        if (preg_match('/MSIE/i', $br)) {
            $br = 'MSIE';
        } elseif (preg_match('/Firefox/i', $br)) {
            $br = 'Firefox';
        } elseif (preg_match('/Chrome/i', $br)) {
            $br = 'Chrome';
        } elseif (preg_match('/Safari/i', $br)) {
            $br = 'Safari';
        } elseif (preg_match('/Opera/i', $br)) {
            $br = 'Opera';
        } else {
            $br = 'Other';
        }
        return $br;
    } else {
        return "Không lấy được thông tin trình duyệt!";
    }} ?>

 

PHP lấy thông tin địa chỉ IP của khách truy cập

<?php
//获取ip
function getip() {
    if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP") , "unknown")) {
        $ip = getenv("HTTP_CLIENT_IP");
    } else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR") , "unknown")) {
        $ip = getenv("HTTP_X_FORWARDED_FOR");
    } else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR") , "unknown")) {
        $ip = getenv("REMOTE_ADDR");
    } else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) {
        $ip = $_SERVER['REMOTE_ADDR'];
    } else {
        $ip = "unknown";
    }
    return $ip;}

 

Hãy bổ sung thêm giải pháp cho vấn đề website không lấy được IP thật của người dùng sau khi sử dụng CDN:

function GetClientIP(){
 
 $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
 
 if($ip != ""){
 
  $arr = explode(",",$ip);
 
  return $arr[0];
 
 }else{
 
  return $_SERVER["REMOTE_ADDR"];
 
 }
 
}

 

Lời khuyên: Bài viết này được cập nhật lần cuối vào 2024-07-28 18:26:16, một số bài viết có giới hạn thời gian, nếu có lỗi hoặc đã hết hạn, vui lòng để lại bên dưới tin nhắn hoặc liên hệ
© Thông báo bản quyền
THE END
Nếu bạn thích, xin vui lòng hỗ trợ.
Thích13 Chia sẻ
Bình luận Bình luận
Bạn được chào đón để lại những hiểu biết có giá trị của bạn!
Gửi

Tên nick

Ngẫu nhiên
Chọn Bình luận Ngẫu nhiên
Có nhiều hơn nữa không? Không đủ!
Hủy bỏ
Tên nickThông thườngBiểu lộMã CodeHình ảnh

    Chưa có bình luận nào