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"];
}
}
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ệ
Chưa có bình luận nào