Nhận dạng trình duyệt và nền tảng trong PHP
- 18-03-2023
- Toanngo92
- 0 Comments
Dựa trên đầu vào do người dùng cung cấp, kiểu trình duyệt hoặc các số được tạo ngẫu nhiên, PHP có thể cung cấp nội dung động cho người dùng.
PHP sử dụng các biến môi trường có sẵn trên trang phpinfo.php để xây dựng môi trường PHP. PHP cung cấp hàm phpinfo() để xem thông tin PHP và hàm getenv() để truy cập giá trị của tất cả các biến môi trường.
Ví dụ: HTTP_USER_AGENT là một biến môi trường. Đây là một trong những biến môi trường do PHP thiết lập, giúp nhận diện trình duyệt và hệ điều hành của người dùng. Biến này có thể được sử dụng để tạo nội dung trình duyệt phù hợp dựa theo trình duyệt hay hệ điều hành của người dùng.
Ví dụ:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<?php
// $viewer = $_SERVER['HTTP_USER_AGENT'];
$viewer = $_SERVER['HTTP_SEC_CH_UA'];
$browser = "An unidentified browser";
if(preg_match('/Google Chrome/i', "$viewer")) {
$browser = "Google Chrome";
}
else if(preg_match('/Brave/i',"$viewer")){
$browser = "Brave";
}
else if(preg_match('/Microsoft Edge/i',"$viewer")){
$browser = "Microsoft Edge";
}
/* do not use this solution */
// if(preg_match('/MSIE/i', "$viewer")) {
// $browser = "Internet Explorer";
// }
// elseif (preg_match('/Netscape/i', "$viewer")) {
// $browser = "Netscape";
// }
// elseif (preg_match('/Mozilla/i', "$viewer")) {
// $browser = "Mozilla";
// }
$useragent = $_SERVER['HTTP_USER_AGENT'];
$platform = "An unidentified operating system!";
if(preg_match('/Windows/i', "$useragent")) {
$platform = "Windows!";
}
elseif (preg_match('/Linux/i', "$useragent")) {
$platform = "Linux!";
}
/* do not use this solution */
echo "Browser: $browser<br>";
echo "Platform: $platform";
?>
</body>
</html>
Ở ví dụ trên, hàm preg_match() giúp nhận dạng trình duyệt dựa trên HTTP_USER_AGENT. Hơn nữa, nó bao gồm mã để kiểm tra hệ điều hành của người dùng, có thể là Linux hoặc Windows.