lexinzector / aboutguest
PHP中的用户信息 - IP、浏览器、操作系统、机器人
Requires
- php: >=5.6.0
README
PHP中的用户信息 - IP、浏览器、操作系统、机器人
提供
- 浏览器名称
- 浏览器版本
- 操作系统名称
- 操作系统版本/内核
- 访问者IP
- 检查:用户是否通过浏览器登录
- 检查:用户是否通过移动设备登录
- 手机、智能手机、平板电脑的品牌/操作系统/浏览器名称
- 检查:访问者是否为搜索引擎机器人
- 机器人属于哪个搜索引擎
PHP类如何通过user-agent确定访客数据
从arrays文件夹中加载包含浏览器、操作系统或机器人在user-agent行中出现的简称或短名称的关联数组。在接收到数据后,所有以set_为前缀的方法都会动态调用并填充类变量,因为只有它们是公共的,可以从类的范围中取出。
要求
PHP >= 5.6.0
安装
在控制台中运行
composer require lexinzector/aboutguest
方法
$this->load($file_and_array_name)
Loader. 此方法从arrays文件夹加载数组,并将其分配给指定在$file_and_array_name属性值中的变量,此属性也是arrays文件夹中文件的名称。
$this->set_ip()
返回一个包含REMOTE_ADDR键的$_SERVER数组值,如您所知,$_SERVER['REMOTE_ADDR']是浏览器可访问的用户IP。
$this->set_browser()
数组文件:arrays / browsers.php 在$this->load方法加载数组后,此方法将使用来自$browsers对象的数组。一旦它找到数组键和字符串在$agent中的内容之间的匹配,它将把$browsers数组中键的值分配给$browsers对象。此外,此方法还将浏览器版本分配给$version。由于浏览器已经找到匹配项,所以可以肯定用户是从浏览器来的,并没有通过脚本访问网站。设置$this->is_browser为True;
$this->set_operating_system()
数组文件:arrays / operating_systems.php 它与 set_browser 方法的工作方式相同,只是它使用 operating_systems 对象作为数组来检查匹配,该数组在执行 $this->load() 方法后从arrays/operating_systems.php文件中接收。不幸的是,浏览器在处理操作系统版本方面并不活跃,有时你会得到奇怪的数量而不是版本。所以使用 $this->os_version 时要小心。操作系统名称包含在 $this->operating_system 中(不要与 $this->os_version 混淆)
$this->set_robot()
数组文件:arrays / robots.php 我们检查网站访问者是否不是搜索引擎机器人。如果是机器人,则 $this->is_robot 的值将为 TRUE;$this->robot 将包含启动机器人的搜索引擎的名称(Google Bot、Yandex Bot、Rambler Bot...)
$this->set_mobile()
数组文件:arrays / mobiles.php 它与 set_operating_system() 方法类似,只是它将手机品牌的名称分配给 $this->mobile 对象,如果从手机、智能手机或平板电脑登录,则 $this->is_mobile 的值将为 TRUE。
示例
use \Lexinzector\AboutGuest\AboutGuest; // useragent autodetection $AboutGuest = new AboutGuest; // custom useragent $useragent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36'; $AboutGuest = new AboutGuest($useragent); echo 'User Agent: ' . $AboutGuest->agent . '<br />'; echo 'IP: ' . $AboutGuest->ip . '<br />'; echo 'Browser: ' . $AboutGuest->browser . '<br />'; echo 'Browser version: ' . $AboutGuest->version . '<br />'; echo 'Operating System: ' . $AboutGuest->operating_system . '<br />'; echo 'OS version: ' . $AboutGuest->os_version . '<br />'; echo 'I am a robot? ' . $AboutGuest->is_robot . '<br />'; echo 'Robot belongs: ' . $AboutGuest->robot . '<br />'; echo 'Logged in from a mobile phone? ' . $AboutGuest->is_mobile . '<br />'; echo 'Mobile phone: ' . $AboutGuest->mobile . '<br />';