Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> IP kraju
Krzysztofem
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 16.03.2006

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


Witam

chcialbym napisac skrypt ktory wykrywalby z jakiego kraju przychodzi uzytkownik. Robie stronke dla kilku wersju jezykowych (en, de, fr). No i chcialbym, ze jezeli uzytkownik bedzie z innego kraju niz wyzej wymienione, to zaladuje mu sie domyslna wersja jezykowa.

No i pojawia sie problem jak wykryc kraj? Probowalem za pomoca zmiennej $_SERWER ["REMOTE_ADDR"], no ale co gdy nie bedzie nazwy i dostane tylko IP?! Takze to chyba odpada. Moge jeszcze HTTP_ACCEPT_LANGUAGE ale pojawia sie problem. Brat testowal to w Kanadzie. Ma angielskie oprogramowanie, ma ustawiona tylko polska klawiature i jezyk systemie na pl. No i HTTP_ACCEPT_LANGUAGE pokazuje mu "pl". U siebie (mam "polskie oprogramowanie") przestawilem jezyk i klawiature na EN ale tez mi pokazuje "pl".

Sprawdzalem inne posty, ale sa dosyc stare z 2005 i generalnie nie rozwiazuja poroblemu. Nie chcialbym ladwac baz z krajami i dolkejac skrypty.

Prosze o pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Moze macie jakies pomysly.

ps. co prawda pozostaje jeszcze JavaScript, ale nie moznaby jakos zrobic tego za pomoca php?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
wipo
post
Post #2





Grupa: Zarejestrowani
Postów: 856
Pomógł: 19
Dołączył: 30.08.2005
Skąd: 100lica

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


Poszukaj w googlach - jest sporo baz (dość dużych) oferujących prezentacje z jakiego miasta i kraju pochodzi użytkownik, który odwiedza stronę. Dodatkowo możesz znaleźć położenie geograficzne, do pokazania na maps.google.com
Go to the top of the page
+Quote Post
Krzysztofem
post
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 16.03.2006

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


No ale ja nie chce korzystac z zadnych baz, bo i po co?! Bede mial tylko 3 wersje jezykowe, a dla pozostalych jezykow zaladuje sie domyslna wersja angielska.
Go to the top of the page
+Quote Post
wipo
post
Post #4





Grupa: Zarejestrowani
Postów: 856
Pomógł: 19
Dołączył: 30.08.2005
Skąd: 100lica

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


No to musisz sobie zrobić cache ip-ków albo zastosować jakiś program shellowy (ale musisz mieć dostęp do shella i ten program musi być zaistalowany). Jednakże działa on na tej samej zasadzie co powyzej.
Istnieje też możliwość pobierania tych informacji ze stron które udostępniają usługę sprawdzania.
Go to the top of the page
+Quote Post
thornag
post
Post #5





Grupa: Zarejestrowani
Postów: 504
Pomógł: 2
Dołączył: 31.03.2006
Skąd: Londyn

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


Niedawno toczylismy o tym dyskusje na ircu, najlepoiej miec dwie tabele jedna z krajami-kodami druga z zasiegami IP-kodami, IPka w postaci integera sluzy do tego funckcja ip2long. Przez to ze zapisujesz tylko zasiegi tych adresow a sam adres jest w postaci liczby calkowitej mozesz osiagnac dobry czas sprawdzania. Jesli potrzebujesz tylko 3-4 jezykow to co za problem umiesic tylko 3-4 zasiegi ?
Go to the top of the page
+Quote Post
wipo
post
Post #6





Grupa: Zarejestrowani
Postów: 856
Pomógł: 19
Dołączył: 30.08.2005
Skąd: 100lica

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


To skoro znasz wszystkie klasy adresów to czemu się pytasz?
Go to the top of the page
+Quote Post
thornag
post
Post #7





Grupa: Zarejestrowani
Postów: 504
Pomógł: 2
Dołączył: 31.03.2006
Skąd: Londyn

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


@wipo eee chyba sie pomyliles, ja o nic nie pytam tylko sugeruje rozwiazania, ktore swoja droga wydaje mi sie najlepsze (no chyba ze ktos korzysta z jakis azjatyckich proxy (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) )

Ten post edytował thornag 18.12.2006, 10:43:36
Go to the top of the page
+Quote Post
wipo
post
Post #8





Grupa: Zarejestrowani
Postów: 856
Pomógł: 19
Dołączył: 30.08.2005
Skąd: 100lica

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


A nie prościej robić własny cache a jak nie znajduje adresu w lokalnej bazie (cache) to odpytać stronę taką jak
http://pilzz.ath.cx/geoip/
?
Go to the top of the page
+Quote Post
thornag
post
Post #9





Grupa: Zarejestrowani
Postów: 504
Pomógł: 2
Dołączył: 31.03.2006
Skąd: Londyn

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


Nie rozumiem po co sobie komplikowac. Przeciez skoro to maja byc tylko trzy jezyki to nietrudno zdobyc zasiego takich adresow, a pozniej tylko sprawdzasz a poleganie na zewnetrznych serwisach moze sie okazac 'trudne do utrzymania'.

Ewentualnie jest jeszcze rozwiazanie domenowe (takie jak no na php.net), w zaleznie od domeny ktorej klient uzywa wchodzac taki ustawiasz jezyk, ale jak wiadomo nie jest to do konca pewne.
Go to the top of the page
+Quote Post
Krzysztofem
post
Post #10





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 16.03.2006

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


thornag a moglbys mi podpowiedziec jak moge sprawdzic zasieg takich adresow i jak to pozniej wykorzystac? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Jestem poczatkujacy i narazie za bardzo nie rozumiem o czym piszesz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
thornag
post
Post #11





Grupa: Zarejestrowani
Postów: 504
Pomógł: 2
Dołączył: 31.03.2006
Skąd: Londyn

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


Jest sporo baz na necie typu ip2country, sciagnij sobie taka baze, zapisz sobie ipki tylko interesujacych Cie krajow, zapisz to u siebie w bazie a pozniej sprawdzaj ip.
Go to the top of the page
+Quote Post
Krzysztofem
post
Post #12





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 16.03.2006

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


A inaczej tego nie mozna zrobic? tzn. nie korzystac z tego typu baz.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 18:13