mimmi20/browser-detector
GitHub: mimmi20/browser-detector
一个 PHP 浏览器与设备检测库,通过解析 User Agent 识别客户端的设备、操作系统、浏览器和引擎信息。
Stars: 48 | Forks: 11
# BrowserDetector
[](https://packagist.org/packages/mimmi20/browser-detector)
[](https://packagist.org/packages/mimmi20/browser-detector)
[](https://packagist.org/packages/mimmi20/browser-detector)
## 代码状态
[](https://codecov.io/gh/mimmi20/BrowserDetector)
[](https://codeclimate.com/github/mimmi20/browser-detector/test_coverage)
[](https://isitmaintained.com/project/mimmi20/BrowserDetector "问题平均解决时间")
[](https://isitmaintained.com/project/mimmi20/BrowserDetector "仍处于打开状态的问题百分比")
[](https://dashboard.stryker-mutator.io/reports/github.com/mimmi20/browser-detector/master)
[](https://codeclimate.com/github/mimmi20/browser-detector/maintainability)
## 环境要求
此库需要 PHP 8.3+。
此外,还需要兼容 PSR-3 的 logger 和兼容 PSR-16 的 cache。
## 安装说明
运行以下命令通过 Composer 进行安装
```
composer require mimmi20/browser-detector
```
## 使用方法
```
$detectorFactory = new \BrowserDetector\DetectorFactory($cache, $logger);
$detector = $detectorFactory();
// get the result
$result = $detector->getBrowser($request);
```
request 参数可以是字符串、数组或兼容 PSR-7 的 message。
## 使用示例
### 从全局 $_SERVER 变量中获取 user agent
```
$detectorFactory = new \BrowserDetector\DetectorFactory($cache, $logger);
$detector = $detectorFactory();
$result = $detector->getBrowser($_SERVER);
```
### 使用示例 user agent
```
$detectorFactory = new \BrowserDetector\DetectorFactory($cache, $logger);
$detector = $detectorFactory();
$result = $detector->getBrowser($the_user_agent);
```
## 结果说明
`getBrowser` 函数将返回具有以下结构的数组
```
[
'headers' => [],
'device' => [
'architecture' => null,
'deviceName' => null,
'marketingName' => null,
'manufacturer' => 'unknown',
'brand' => 'unknown',
'dualOrientation' => null,
'simCount' => null,
'display' => [
'width' => null,
'height' => null,
'touch' => null,
'size' => null,
],
'type' => 'unknown',
'ismobile' => null,
'istv' => null,
'bits' => null,
],
'os' => [
'name' => null,
'marketingName' => null,
'version' => null,
'manufacturer' => 'unknown',
],
'client' => [
'name' => null,
'modus' => null,
'version' => null,
'manufacturer' => 'unknown',
'type' => 'unknown',
'isbot' => null,
],
'engine' => [
'name' => null,
'version' => null,
'manufacturer' => 'unknown',
],
]
```
## 问题与功能请求
请在 GitHub Issue Tracker 上报告您的问题并请求新功能
地址:
标签:ffuf, OpenVAS, PHP, Syscall, User-Agent解析, Web开发, 浏览器检测, 设备识别