mimmi20/browser-detector

GitHub: mimmi20/browser-detector

一个 PHP 浏览器与设备检测库,通过解析 User Agent 识别客户端的设备、操作系统、浏览器和引擎信息。

Stars: 48 | Forks: 11

# BrowserDetector [![最新稳定版本](https://poser.pugx.org/mimmi20/browser-detector/v/stable?format=flat-square)](https://packagist.org/packages/mimmi20/browser-detector) [![最新不稳定版本](https://poser.pugx.org/mimmi20/browser-detector/v/unstable?format=flat-square)](https://packagist.org/packages/mimmi20/browser-detector) [![许可证](https://poser.pugx.org/mimmi20/browser-detector/license?format=flat-square)](https://packagist.org/packages/mimmi20/browser-detector) ## 代码状态 [![codecov](https://codecov.io/gh/mimmi20/BrowserDetector/branch/master/graph/badge.svg)](https://codecov.io/gh/mimmi20/BrowserDetector) [![测试覆盖率](https://api.codeclimate.com/v1/badges/e310a7977d6a375c9dd7/test_coverage)](https://codeclimate.com/github/mimmi20/browser-detector/test_coverage) [![问题平均解决时间](https://isitmaintained.com/badge/resolution/mimmi20/BrowserDetector.svg)](https://isitmaintained.com/project/mimmi20/BrowserDetector "问题平均解决时间") [![仍处于打开状态的问题百分比](https://isitmaintained.com/badge/open/mimmi20/BrowserDetector.svg)](https://isitmaintained.com/project/mimmi20/BrowserDetector "仍处于打开状态的问题百分比") [![变异测试徽章](https://img.shields.io/endpoint?style=flat&url=https%3A%2F%2Fbadge-api.stryker-mutator.io%2Fgithub.com%2Fmimmi20%2Fbrowser-detector%2Fmaster)](https://dashboard.stryker-mutator.io/reports/github.com/mimmi20/browser-detector/master) [![可维护性](https://api.codeclimate.com/v1/badges/e310a7977d6a375c9dd7/maintainability)](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开发, 浏览器检测, 设备识别