0712-2888027 189-8648-0214
微信公众号

孝感风信网络科技有限公司微信公众号

当前位置: 主页 > 技术支持 > PHP > 使用laravel agent轻松识别客户端信息以及设备信息

使用laravel agent轻松识别客户端信息以及设备信息

时间:2019-10-19来源:风信网 点击:
有很多时候我们需要在laravel中识别系统是安卓还是ios,有时候我们也需要判断是什么浏览器,以及判断手机或者电脑访问亚搏体育平台官方,安全中我们需要判断laravel亚搏体育平台官方是否是机器人访问。
安装
 
使用composer安装:
 
composer require jenssegers/agent
 
Laravel在config中配置
 
在config/app.php中添加服务提供者:
 
Jenssegers\Agent\AgentServiceProvider::class,
 
同样在config/app.php中注册门面到aliases数组:
 
'Agent' => Jenssegers\Agent\Facades\Agent::class,
 
基本使用
 
首先创建一个Agent实例(如果您使用的是Laravel,则使用Facade门面Agent):
 
use Jenssegers\Agent\Agent;
$agent = new Agent();
 
# 或者使用如下方法
use Agent;
 
如果您想要在CLI脚本中解析除当前请求以外的用户代理,则可以使用setUserAgent和setHttpHeaders方法:
 
$agent->setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2');
$agent->setHttpHeaders($headers);
 
所有Mobile Detect原有的方法仍然可以使用,请查看https://github.com/serbanghita/Mobile-Detect/wiki/Code-examples上的一些原始示例
 
判断当前客户端
 
1、判断操作系统
 
Agent::is('Windows');
Agent::is('Firefox');
Agent::is('iPhone');
Agent::is('OS X');
 
2、与上面的is一样
 
与is()一样,判断操作系统:
 
Agent::isAndroidOS();
Agent::isNexus();
Agent::isSafari();
 
3、移动检测
 
检测移动设备:
 
Agent::isMobile();
Agent::isTablet();
 
4、匹配user agent
 
用正则表达式搜索用户代理:
 
Agent::match('regexp');
 
附加功能
 
1、获取语言
 
获取浏览器语言。例:
 
$languages = Agent::languages();
// ['nl-nl', 'nl', 'en-us', 'en']
 
2、设备名称
 
获取设备名称,比如手机。(iPhone, Nexus, AsusTablet, ...)
 
$device = Agent::device();
 
3、操作系统名称
 
获取操作系统。(Ubuntu,Windows,OS X,...)
 
$platform = Agent::platform();
 
4、浏览器名称
 
获取浏览器名称。(Chrome,IE,Safari,Firefox,...)
 
$browser = Agent::browser();
 
5、桌面检测
 
检查用户是否使用桌面设备。
 
$agent = Agent::isDesktop();
 
这将检查用户是否不是移动设备,平板电脑或机器人。
 
6、电话检测
 
检查用户是否为电话设备。
 
Agent::isPhone();
 
7、机器人检测
 
检查用户是否是机器人。这使用jaybizzle / crawler-detect来执行机器人检测。
 
Agent::isRobot();
 
8、机器人名称
 
获取机器人名称。
 
Agent::robot();
 
9、获取浏览器/系统版本
 
MobileDetect最近添加了一个version可以获取浏览器/系统版本。要获取浏览器或平台版本,您可以使用:
 
$browser = $agent->browser();
$version = $agent->version($browser);
 
$platform = $agent->platform();
$version = $agent->version($platform);
 
请注意,版本方法仍处于测试阶段,所以它可能不会返回正确的结果。
栏目列表
推荐内容
  • 微信公众号token验证php代码

    微信公众号开发过程中,都是使用自有服务器,所以我们需要对...

  • php中返回数组中的键名使用array_key

    array_keys 返回数组中所有的键名 说明 array array_keys ( array $input ...

  • php去掉字符串的最后一个字符

    原字符串1,2,3,4,5,6, 去掉最后一个字符,,最终结果为1,2,3,4,5,6 代...

  • 解决1071 Specified key was too long; max ke

    使用Laravel进行数据库迁移文件开发,有些字段我们需要建立索引...

  • 亚搏体育平台官方后门-一句话webshell的分析

    亚搏体育平台官方后门-一句话webshell的分析,黑客可以通过Webshell入侵您的系...

  • php中获得数组长度的方法

    count 计算数组中的单元数目或对象中的属性个数 strlen是统计数组...

  • 支付宝支付接口申请使用信息指南

    以下信息为风信网针对支付宝支付场景应用到客户亚搏体育平台官方实际开发...

  • 如何防范用户通过上传功能,上传

    在实际的项目开发过程中,我们常常用提供表单之类的文件上传...

  • 热点内容
    展开