lexinzector/aboutguest

PHP中的用户信息 - IP、浏览器、操作系统、机器人

1.0 2023-10-17 18:44 UTC

This package is auto-updated.

Last update: 2024-09-17 20:38:07 UTC


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 />';