Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> IP kraju
Krzysztofem
post 18.12.2006, 08:49:42
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 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 18.12.2006, 10:06:41
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 18.12.2006, 10:17:05
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 18.12.2006, 10:25:57
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 18.12.2006, 10:32:46
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 ?


--------------------
"Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"

Go to the top of the page
+Quote Post
wipo
post 18.12.2006, 10:36:17
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 18.12.2006, 10:41:04
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 tongue.gif)

Ten post edytował thornag 18.12.2006, 10:43:36


--------------------
"Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"

Go to the top of the page
+Quote Post
wipo
post 18.12.2006, 10:59:10
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 18.12.2006, 11:07:31
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.


--------------------
"Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"

Go to the top of the page
+Quote Post
Krzysztofem
post 18.12.2006, 11:18:57
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? smile.gif Jestem poczatkujacy i narazie za bardzo nie rozumiem o czym piszesz smile.gif
Go to the top of the page
+Quote Post
thornag
post 18.12.2006, 11:35:14
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.


--------------------
"Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"

Go to the top of the page
+Quote Post
Krzysztofem
post 18.12.2006, 11:47:15
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:18