chevron-left chevron-right

Piotr Nalepa Frontend, architektura i AI

[PHP] Jak wykryć czy ktoś ogląda Twoją stronę za pomocą komórki?

Ta wersja
blog.piotrnalepa.pl/2010/06/25/php-jak-wykryc-czy-ktos-oglada-twoja-strone-za-pomoca-komorki
Opublikowano
Autor
, Staff Software Engineer
Kategoria
PHP
Uwagi
Napisz do mnie · Napisz na X

Ten wpis ma 16 lat. Od tego czasu przeglądarki i narzędzia mogły się zmienić, więc zanim użyjesz kodu, sprawdź go z aktualną dokumentacją.

Tematem tego artykułu jest wykrywanie urządzeń mobilnych przez mechanizm na którym oparta jest strona WWW.
Pewnie nie raz się zastanawiałeś/aś nad tym w jaki sposób wykryć czy użytkownik, który odwiedził Twoją stronę korzystał na przykład z komórki? Można to sprawdzić za pomocą języka PHP i dzięki temu, można zmienić strukturę strony odpowiednio dla każdego typu urządzenia mobilnego. Lecz trzeba pamiętać i kilku rzeczach.

  1. Ta technika polega na zawartości ukrytych w UserAgent. Przez co, ta technika może nie działać na przeglądarkach podszywających się pod inne, na przykład część przeglądarek internetowych zainstalowanych w urządzeniach mobilnych udaje Internet Explorera.
  2. Operatorzy komórkowi mogą zmienić zawartość UserAgenta podczas dostosowywania urządzenia do ich sieci. Czasami też operatorzy mogą zmienić zawartość UserAgenta podczas przeglądania strony WWW poprzez ich sieć internetową.
  3. Zawartość UserAgenta może się zmieniać w czasie. Dlatego też, należy monitorować kod pod kątem obsługi najbardziej pożądanych urządzeń mobilnych, których listę zdefiniuje administrator strony WWW.

Do tego celu będziemy wykorzystywać klasę PHP stworzoną przez Anthonego Handa o nazwie uagent_info.

Sekcja 1Przykład wykorzystania tej klasy

Na początek, należy stworzyć obiekt tej klasy, a następnie wywoływać do niej funkcje. Detektor urządzeń mobilnych zwraca wartości 1 lub 0 w zależności od tego czy wykryje dany typ urządzenia mobilnego.
Oto przykład:

Przykład 1PHP
//Tworzymy obiekt klasy uagent_info
$obiekt = new uagent_info();
 
//Spróbujmy wykryć iPhone'a
//Poniższa metoda (funkcja) zwróci 1 lub 0
$iPhone = $obiekt->DetectIphone();
 
//Zrób coś
print("
 
Masz iPhone'a: ".$iPhone."
 
");
 
//Możesz też wypisać do okna przeglądarki zawartość UserAgenta
$agent = $obiekt->Get_Uagent();
print("
 
Zawartość UserAgenta to:  ".$agent."
 
");
 
//Poniższa metoda wykryje czy używasz iPhone'a lub iPod Touch
//$obiekt->DetectIphoneOrIpod());
 
//Natomiast ta wykryje czy używasz Androida lub przeglądarki typu WebKit
//$obiekt->DetectAndroidWebKit();
 
//Z kolei ta metoda wykryje czy komórka bazuje na Symbianie. Wykryje ona wszystkie wersje Symbiana począwszy od S60
//$obiekt->DetectSymbianOS();
 
//Wykrywanie Windows Mobile
//$obiekt->DetectWindowsMobile();
 
//Wykrywanie konsol do gier
//$obiekt->DetectGameConsole();
 
//Wykrywanie komórek ogółem
//$obiekt->DetectMobileQuick();

Mam nadzieję, że ten przegląd możliwości klasy uagent_info pozwoli Tobie na tworzenie dedykowanych wersji Twojej strony WWW dla urządzeń mobilnych.

Sekcja 2Źródła:

Udostępnij
Uwagi

O autorze

Staff Software Engineer

Piszę na tym blogu od 2009 roku, a strony i aplikacje webowe tworzę zawodowo od 14 lat. Obecnie w Bishop Fox prowadzę frontend platformy Cosmos, od samego początku projektu. Wcześniej pracowałem m.in. w OLX, KUDO, Auto1 i eZ Systems. Piszę tu o tym, czego nauczyłem się w praktyce: o JavaScripcie, TypeScripcie, Reakcie, CSS-ie i architekturze frontendu. Występowałem też jako prelegent na konferencjach w Polsce i Europie. Masz pytanie albo pomysł na wpis? Daj znać!