Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

4 Stron V   1 2 3 > »   
Reply to this topicStart new topic
> [Klasa] Scout 1.8.0, Detekcja OS, Browsera i geolokalizacja
Bastion
post 25.02.2006, 13:57:31
Post #1





Grupa: Zarejestrowani
Postów: 505
Pomógł: 0
Dołączył: 8.01.2005

Ostrzeżenie: (0%)
-----


Final 1.0.0 :

Wykrywa ponad 3mln adresów IP z bazy OpenGEO, warto zaznaczyc ze
baza CSV OpenGEO zajmuje 300MB a baza ScoutGEO 300kB i zawiera
dodatkowe informacje o polozeniu geograficznym w systemie BL i XY :

Działa tak :

Z automatyczna detekcja IP / User agent :
Demo : http://www.vertis.com.pl/demo/scout/examples/example01.php
  1. <?php
  2.  
  3. require_once('../libs/class5.scout.php');
  4.  
  5. $scout = new Scout;
  6.  
  7. print '<b>Podstawowe informacje :</b>';
  8. print '<br />User IP : '.  $scout->get_ip();
  9. print '<br />User Proxy : '. $scout->get_proxy();
  10. print '<br />User UserAgent : '.$scout->get_useragent();
  11.  
  12. print '<br /><br /><b>System operacyjny : </b>';
  13. print '<br />Nazwa : '.  $scout->os('name');
  14. print '<br />Wersja : '. $scout->os('version');
  15. print '<br />Pełna : '.  $scout->os();
  16.  
  17. print '<br /><br /><b>Przeglądarka : </b>';
  18. print '<br />Nazwa : '.  $scout->browser('name');
  19. print '<br />Wersja : '. $scout->browser('version');
  20. print '<br />Dodatek : '.  $scout->browser('addon');
  21. print '<br />Pełna : '.  $scout->browser();
  22.  
  23. print '<br /><br /><b>Geolokalizacja : </b>';
  24. if ($scout->is_geo())
  25. {
  26. print '<br />(BL) North : '. $scout->geo('n');
  27. print '<br />(BL) East : '.  $scout->geo('e');
  28. print '<br />(XY) X : '. $scout->geo('x');
  29. print '<br />(XY) Y : '. $scout->geo('y');
  30. print '<br />Miasto : '. $scout->geo('town');
  31. print '<br />Województwo : '.  $scout->geo('province');
  32. } else
  33. {
  34. print '<br />... brak adresu w bazie danych';
  35. }
  36.  
  37. ?>


Lub z wymuszeniem :
Demo : http://www.vertis.com.pl/demo/scout/examples/example02.php
  1. <?php
  2.  
  3. require_once('../libs/class5.scout.php');
  4.  
  5. $scout = new Scout;
  6.  
  7. $scout -> set_ip('212.126.1.2');
  8. $scout -> set_useragent('Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)');
  9.  
  10. print '<b>Podstawowe informacje :</b>';
  11. print '<br />User IP : '.  $scout->get_ip();
  12. print '<br />User Proxy : '. $scout->get_proxy();
  13. print '<br />User UserAgent : '.$scout->get_useragent();
  14.  
  15. print '<br /><br /><b>System operacyjny : </b>';
  16. print '<br />Nazwa : '.  $scout->os('name');
  17. print '<br />Wersja : '. $scout->os('version');
  18. print '<br />Pełna : '.  $scout->os();
  19.  
  20. print '<br /><br /><b>Przeglądarka : </b>';
  21. print '<br />Nazwa : '.  $scout->browser('name');
  22. print '<br />Wersja : '. $scout->browser('version');
  23. print '<br />Dodatek : '.  $scout->browser('addon');
  24. print '<br />Pełna : '.  $scout->browser();
  25.  
  26. print '<br /><br /><b>Geolokalizacja : </b>';
  27. if ($scout->is_geo())
  28. {
  29. print '<br />(BL) North : '. $scout->geo('n');
  30. print '<br />(BL) East : '.  $scout->geo('e');
  31. print '<br />(XY) X : '. $scout->geo('x');
  32. print '<br />(XY) Y : '. $scout->geo('y');
  33. print '<br />Miasto : '. $scout->geo('town');
  34. print '<br />Województwo : '.  $scout->geo('province');
  35. } else
  36. {
  37. print '<br />... brak adresu w bazie danych';
  38. }
  39.  
  40. ?>


a pobrać można jak zwykle tu : http://www.vertis.com.pl/

Ten post edytował Bastion 15.07.2006, 15:43:45


--------------------
Go to the top of the page
+Quote Post
Vomit
post 25.02.2006, 14:35:02
Post #2





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 23.01.2006

Ostrzeżenie: (0%)
-----


Bastion: skad brales dane dla ScoutGeo ?
Go to the top of the page
+Quote Post
Bastion
post 25.02.2006, 14:39:32
Post #3





Grupa: Zarejestrowani
Postów: 505
Pomógł: 0
Dołączył: 8.01.2005

Ostrzeżenie: (0%)
-----


z www.opengeo.pl - niestety ich CSV to 300MB wiec trzeba bylo uszczuplic,
a jesli pytasz o wspolrzedne geograficzne - to z roznych rzeczy - atlasy, encykloipedie, internet smile.gif
bez obrazy ale niektorych wiosek trudno znalesc jakies wspolrzedne smile.gif bylo nawet ze dzwonilem do jakiejs miejscowosci o wspolrzedne smile.gif bo nigdzie nie szlo znalesc ;]

Ten post edytował Bastion 25.02.2006, 14:40:59


--------------------
Go to the top of the page
+Quote Post
vieri_pl
post 25.02.2006, 17:36:23
Post #4





Grupa: Zarejestrowani
Postów: 406
Pomógł: 9
Dołączył: 24.07.2005
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Bastion Ty na prawdę poswiecasz sie swojej pracy. Co rusz nowe projekty i klasy smile.gif

Brawo !
Go to the top of the page
+Quote Post
hwao
post 25.02.2006, 18:07:47
Post #5


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Cytat(vieri_pl @ 2006-02-25 17:36:23)
Bastion Ty na prawdę poswiecasz sie swojej pracy. Co rusz nowe projekty i klasy smile.gif

Brawo !

yhy, brawo brawo popieram

Widac ze sie chlopak uczy.

Bardzo ciekawy pomysl, ale jednka rozdzielil bym te klasy na 2...
1. analiza danych o userze z user_agenta
2. lokalizacja skad jest po ip
Go to the top of the page
+Quote Post
Bastion
post 25.02.2006, 18:35:18
Post #6





Grupa: Zarejestrowani
Postów: 505
Pomógł: 0
Dołączył: 8.01.2005

Ostrzeżenie: (0%)
-----


@hwao : szczerze tez nad tym myslalem, ale padlo na monolit - w nastepnym relase bedzie specjanle narzedzie do dopasowania siatki geolokalizacyjnej do mapy bitowej mapy Polski, zeby latwo mozna bylo nanosic punkty B,L smile.gif

@vieri_pl: staram sie smile.gif powoli juz nabiera ksztaltow ten CMS o ktorym wspominalem



--------------------
Go to the top of the page
+Quote Post
Vomit
post 25.02.2006, 18:51:26
Post #7





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 23.01.2006

Ostrzeżenie: (0%)
-----


class Jolantha? laugh.gif
Domyslam sie skad taka nazwa, ale za co bedzie odpowiadala ? smile.gif
Go to the top of the page
+Quote Post
Bastion
post 25.02.2006, 18:53:35
Post #8





Grupa: Zarejestrowani
Postów: 505
Pomógł: 0
Dołączył: 8.01.2005

Ostrzeżenie: (0%)
-----


smile.gif klasa odpowiedzialna za bezpieczenstwo i poprawnosc przekazywania danych, wykrywanie prob atakow, podawania blednych akcji, kombinowanie z parametrami, logowanie, powiadamianie admina.... a czemu Jolantha ? smile.gif Bo bedzie taka sama jak moja żonka - nic sie przed nia nie ukryje biggrin.gif laugh.gif laugh.gif

Ten post edytował Bastion 25.02.2006, 18:57:45


--------------------
Go to the top of the page
+Quote Post
FiDO
post 25.02.2006, 23:05:11
Post #9





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


Hehe biggrin.gif

Z nieba mi spadles z ta klasa.. wlasnie ostatnio sie zastanawialem nad jakims parserem user_agent'a. Teraz juz nie bede musial smile.gif Za jakis czas (jak juz bede na etapie, ze bede tego potrzebowal) potestuje ja troche glebiej i podziele sie dokladniejszymi uwagami.


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
TomASS
post 25.02.2006, 23:34:37
Post #10





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Nie wiem dlaczego, ale ex01 pokazuje ok:

Cytat
System operacyjny :
Nazwa : Windows
Wersja : XP
Pełna : Windows XP

Miasto : Wrocław
Województwo : dolno&para;l&plusmn;skie


A ex02:
Cytat
System operacyjny :
Nazwa : Windows
Wersja : Vista
Pełna : Windows Vista

Miasto : Poznań
Województwo : wielkopolskie

Może ja się nie znam :/


--------------------
Go to the top of the page
+Quote Post
Bastion
post 25.02.2006, 23:46:59
Post #11





Grupa: Zarejestrowani
Postów: 505
Pomógł: 0
Dołączył: 8.01.2005

Ostrzeżenie: (0%)
-----


ex02 - wyswietla wymoszony adres ip i useragenta - wiec jest ok smile.gif

Kod
    $scout -> set_ip('212.126.1.2');
    $scout -> set_useragent('Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)');


@FiDO smile.gif cieszy mnie to ogromnie

Ten post edytował Bastion 25.02.2006, 23:49:43


--------------------
Go to the top of the page
+Quote Post
TomASS
post 25.02.2006, 23:58:34
Post #12





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


W takim razie Panowie czapki z głów.... kawał dobrej robty.


--------------------
Go to the top of the page
+Quote Post
FiDO
post 26.02.2006, 23:06:36
Post #13





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


Ok potestowalem to troche dluzej i mam nastepujace uwagi:

1) klasa do IP faktycznie powinna byc osobno.. mi np. ta funkcjonalnosc jest kompletnie niepotrzebna, a troche tego kodu do tego jest (no i baza ip'kow)

2) przydaloby sie wykrywanie botow wyszukiwarek (+ jakas metoda isBot() )

Narazie tyle ;]


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
Bastion
post 26.02.2006, 23:07:44
Post #14





Grupa: Zarejestrowani
Postów: 505
Pomógł: 0
Dołączył: 8.01.2005

Ostrzeżenie: (0%)
-----


Ad1) Klasa rozdzielona w wersji CVS
Ad2) Prace w toku od wczoraj smile.gif


--------------------
Go to the top of the page
+Quote Post
dragomir
post 26.02.2006, 23:39:13
Post #15





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 18.04.2005

Ostrzeżenie: (0%)
-----


hm, mieszkam sobie w poznaniu, a to chyba duze miasto, i z pierwszego przykladu mi wyszlo, ze nie ma tej lokacji w bazie


--------------------
...
Go to the top of the page
+Quote Post
Bastion
post 27.02.2006, 00:07:57
Post #16





Grupa: Zarejestrowani
Postów: 505
Pomógł: 0
Dołączył: 8.01.2005

Ostrzeżenie: (0%)
-----


jesli nie ma twojego adresu w bazie danych to nie ma sad.gif musialbys zarejestrowac swoje IP w OpenGEO : http://www.opengeo.pl/ .


--------------------
Go to the top of the page
+Quote Post
spenalzo
post 27.02.2006, 07:19:20
Post #17





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


A mi po raz pierwszy od dawna ten skrypt pokazał (korzystam z neozdrady), że faktycznie mieszkam w Poznaniu a nie w jakiejś dziurze na północy polski tongue.gif

Cytat
Miasto : Poznań
Województwo : wielkopolskie


--------------------

Go to the top of the page
+Quote Post
Bastion
post 2.03.2006, 13:59:53
Post #18





Grupa: Zarejestrowani
Postów: 505
Pomógł: 0
Dołączył: 8.01.2005

Ostrzeżenie: (0%)
-----


postanowilem rozbic klase na 3 moduly :

Scout - przegladarki / systemy operacyjne / boty
GeoScout - geolokalizacja
MobileScout - telefony komorkowe / urzadzenia przenosne ( jestem na etapie zbierania USER_AGENTow roznych marek i modeli - oraz wybranych parametrow - wlasnie jakie parametry bylyby intresujace do rozpoznania ? chodzi o to czy np. scout ma tez podwac np. rozdzialke wyswietlacza etc? czy jest to raczej zbedne )

Niemniej cala trojka bedzie dostepna w jednej paczce smile.gif Jakies sugestie?

Ten post edytował Bastion 2.03.2006, 14:09:16


--------------------
Go to the top of the page
+Quote Post
xarr
post 2.03.2006, 15:35:40
Post #19





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 5.12.2004

Ostrzeżenie: (0%)
-----


Ja mam podobny zestaw klas (bez wykrywania regionu, tylko panstwa na zasadzie bazy ipkow oraz ustawien jezykowych browsera).

Rozpiska tego wyglada mniej wiecej tak:

klasa User (pobiera podstawowe dane, czyli user_agent oraz IP)
klasa Identification dziedziczy po User (rozpoznaje tylko czy to bot, czy nie)
klasa BotIdentification dziedziczy po Identification (probuje zidentyfikowac bota na podstawie user_agenta oraz bazki z botami oraz ustawia odpowiednia flage: zly, neutralny, niezidentyfikowany robal smile.gif)
klasa UserIdentification dziedziczy po Identification (tutaj oczywiscie szczegolowe info: typ,nazwa,wersja przegladary, os, kraj)

Pisane to bylo jakies 10 mc temu i dzisiaj rowniez nie jestem przekonany, co do poprawnego rozbicia tego na tyle klas, ot chociazby Identification, ktora odpowiada tylko ze stwierdzenie, czy mamy do czynienia z botem, czy userem, ew. czy bardziej prawdopodobne jest, ze jest to bot/user. Nie jestem tez pewny, czy w ogole dobrym pomyslem jest tutaj dziedziczenie, a przynajmniej w takiej postaci. Co sadzicie?

Bastion w tym threadzie wspomnial o kilku ciekawych rzeczach, ktorych u mnie brakuje. Ot, te regiony i detekcja telefonu komorkowego. To dla mnie bodziec by dopisac linijke w swoim ToDo smile.gif

Co do twoich pytan nadal uwazam, ze tego typu skrypty pelnia role glownie statystyczna. Jak tylko ktos probuje te wszystkie detekcje wykorzystac do sposobu ladowania takiego, czy innego layoutu (bo browser x kuma czesc css3, a y czesc css2) to kopie sobie dolki, w ktore kiedys sam wpadnie. Uwazam, ze zbieranie tak bardzo szczegolowych informacji o parametrach wykrytej komorki (wyswietlacz) jest zbedne. Do niczego Ci sie to raczej nie przyda. Informacja, ze jest to komorka styka, a jak jeszcze dorzucisz jaki model (Nokia 6210) to juz "swiat i ludzie" (z takiej informacji, przy pomocy google i tak zawsze bedziesz w stanie wyszukac wszystkie szczegoly odnosnie danego modelu smile.gif)

Odnosnie sugestii to dokladnie nie przygladalem sie twojej paczce, ale nie wspominales tu o probie detekcji innych rzeczy zainstalowanych u usera. Ot jakies pluginy, enabled js, itd. Za to wprawdzie glownie odpowiadac bedzie javascript (bo get_browser pokazuje tylko mozliwosci browsera), ale moze bedziesz mial checi i uda Ci sie cos fajnego znalezc/napisac. Przyznam sie, ze ja kiedys poleglem na tym.

Pozdrawiam
Go to the top of the page
+Quote Post
sztosz
post 2.03.2006, 15:45:39
Post #20





Grupa: Zarejestrowani
Postów: 866
Pomógł: 32
Dołączył: 2.06.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Pierwsza klasa:
Cytat
Podstawowe informacje :
User Proxy :
User UserAgent : TERMINATOR

System operacyjny :
Nazwa :
Wersja :
Pełna :

Przeglądarka :
Nazwa :
Wersja :
Dodatek :
Pełna :

Geolokalizacja : 1394331646
Miasto : Poznań
Województwo : wielkopolskie

Druga:
Cytat
Podstawowe informacje :
User Proxy :
User UserAgent : Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)

System operacyjny :
Nazwa : Windows
Wersja : Vista
Pełna : Windows Vista

Przeglądarka :
Nazwa : Internet Explorer
Wersja : 7.0b
Dodatek :
Pełna : Internet Explorer 7.0b

Geolokalizacja : 3565027586
Miasto : Poznań
Województwo : wielkopolskie


Co do pierwszej klasy:
UserAgent jest OK.
Chyba nie zgadza sie lokalizacja. Jestem neozdrajcą z Wałbrzycha, więc moja centrala to chyba Wrocław, ale moge się mylić.

Co do drógiej:
UserAgent wymuszony więc OK.

Ale czemu Vista? Mam win2003, nLitniętego ale nadal 2003. I czemu IE 7? Korzystam z Firefoxa z mnóstwem swietnych pluginów, chociaż owszem mam zainstalowane IE 7 2nd Preview. czy to może dlatego że win2003 + IE 7 w chwili obecnej jest teoretycznie niemożliwe i trzeba sie w podmianę plików bawić, o refleksie nie wspominajac?
No i ten poznań winksmiley.jpg

Ten post edytował sztosz 2.03.2006, 15:55:11


--------------------
Go to the top of the page
+Quote Post

4 Stron V   1 2 3 > » 
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 15.06.2025 - 16:21