0712-2888027 189-8648-0214
微信公眾號

孝感風信網絡科技有限公司微信公眾號

當前位置:主頁 > 技術支持 > PHP > 使用laravel agent輕松識別客戶端信息以及設備信息

使用laravel agent輕松識別客戶端信息以及設備信息

時間:2024-04-15來源:風信官網 點擊: 2561次
有很多時候我們需要在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);
 
請注意,版本方法仍處于測試階段,所以它可能不會返回正確的結果。
欄目列表
推薦內容
熱點內容
展開
无码动漫在线看明星