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
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
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
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
bez obrazy ale niektorych wiosek trudno znalesc jakies wspolrzedne (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) bylo nawet ze dzwonilem do jakiejs miejscowosci o wspolrzedne (IMG:http://forum.php.pl/style_emoticons/default/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
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Brawo !
Go to the top of the page
+Quote Post
hwao
post
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 (IMG:http://forum.php.pl/style_emoticons/default/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
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

@vieri_pl: staram sie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) powoli juz nabiera ksztaltow ten CMS o ktorym wspominalem

(IMG:http://www.vertis.com.pl/trash/graf002.png)
Go to the top of the page
+Quote Post
Vomit
post
Post #7





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

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


class Jolantha? (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif)
Domyslam sie skad taka nazwa, ale za co bedzie odpowiadala ? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Bastion
post
Post #8





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

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


(IMG:http://forum.php.pl/style_emoticons/default/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 ? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Bo bedzie taka sama jak moja żonka - nic sie przed nia nie ukryje (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif) (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif)

Ten post edytował Bastion 25.02.2006, 18:57:45
Go to the top of the page
+Quote Post
FiDO
post
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 (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Z nieba mi spadles z ta klasa.. wlasnie ostatnio sie zastanawialem nad jakims parserem user_agent'a. Teraz juz nie bede musial (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Za jakis czas (jak juz bede na etapie, ze bede tego potrzebowal) potestuje ja troche glebiej i podziele sie dokladniejszymi uwagami.
Go to the top of the page
+Quote Post
TomASS
post
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
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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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
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
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 ;]
Go to the top of the page
+Quote Post
Bastion
post
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
dragomir
post
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
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 (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) musialbys zarejestrowac swoje IP w OpenGEO : http://www.opengeo.pl/ .
Go to the top of the page
+Quote Post
spenalzo
post
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 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Cytat
Miasto : Poznań
Województwo : wielkopolskie
Go to the top of the page
+Quote Post
Bastion
post
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 (IMG:http://forum.php.pl/style_emoticons/default/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
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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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
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ń (IMG:http://forum.php.pl/style_emoticons/default/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
3 Użytkowników czyta ten temat (3 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 14:22