쪼렙 as! 풀스택

PHP, USER_AGENT 분석해서 접속자의 Client, Device 정보 알아오기. 본문

개발 일지/Web & Server

PHP, USER_AGENT 분석해서 접속자의 Client, Device 정보 알아오기.

코코앱 2018. 11. 28. 16:49

사용자가 어떤 기기로 로그인을 하는지 분석해야 할 필요가 있다.


기기별로 로그인 제한을 두는 기능을 구현할 때도 필요하다.

요새는 많은 서비스들이 어떤 기기에서 로그인을 했었는지 기록해두고, 

새로운 곳에서 로그인을 체크하거나, 특정 기기의 로그인을 끊는다던가 하는 서비스를 제공하는 경우들이 많이 있다.


PHP에서 $_SERVER["HTTP_USER_AGENT"] 를 분석하면 되는데, 

나는 matomo-org/device-detector 라이브러리를 사용하기로 했다.


참고 https://github.com/matomo-org/device-detector


근데 이게 꽤나 무거운 작업인 듯 하다.

그래서 나는 autoload 를 안쓰는 환경에서, 꼭 필요할 때만 로드해서 사용하기로 했다.


<?php

$docRoot = $_SERVER['DOCUMENT_ROOT'];
require_once($docRoot."/libs/spyc/Spyc.php");
require_once($docRoot.'/libs/dd/autoload.php');
use DeviceDetector\DeviceDetector;

$userAgent = $_SERVER['HTTP_USER_AGENT']; // change this to the useragent you want to parse
$dd = new DeviceDetector($userAgent);
$dd->parse();

$os = $dd->getOs();
$client= $dd->getClient();
$device = $dd->getDeviceName();
$brand = $dd->getBrandName();
$model = $dd->getModel();

?>




Comments