Autor Zpráva
mark
Profil
zdravím, neviete, ako cez PHP sa dá zistiť, z akej krajiny je užívateľ? či to treba cez IP, alebo prehliadač a ako? ďakujem.....
SwimX
Profil
teoreticky jsou jisté IP adresy z jistých míst, ale ne vždy to tak je.
zjistění ip by mělo jít pomocí $_SERVER['REMOTE_ADDR'];
BetaCam
Profil
mark

K čemu hodláš získané informace použít?
mark
Profil
aby sa na stránke automaticky nastavil taký jazyk, akej je užívateľ národnosti....
DJ Miky
Profil
http://www.qark.net/clanek/jak-zjistite-stat-mesto-a-organizaci-podle- ip-adresy

Popř. dotaz na whois.ripe.net s IP adresou uživatele.
BetaCam
Profil
mark

V tom případě použij $_SERVER['HTTP_ACCEPT_LANGUAGE']

Nic jako zjištování pomocí IP nedělej, protože je to nesmysl. To, že mám německou IP ještě neznamená, že sem němec.
BetaCam
Profil
DJ Miky
http://www.qark.net/clanek/jak-zjistite-stat-mesto-a-organizaci-podl e- ip-adresy

Popř. dotaz na whois.ripe.net s IP adresou uživatele.


To je přesně to co je v tomto případě absolutně nevhodné.
DJ Miky
Profil
BetaCam
Kolik Čechů má cizokrajnou IP? V praxi se mi to osvědčilo víc než accept-language, protože ten spíš nemá s jazykem uživatele nic společného. A i kdyby, tak těch pár uživatelů si jazyk přenastaví, pokud to bude otázka jednoho kliknutí.
BetaCam
Profil
DJ Miky

Já nevim třeba já mám Holandskou.

Navíc další věc je, že dnes už se docela často cestuje do zahraničí. Jistě mě stránky přímo nadchnou pokud pojedu na služební cestu do francie a stránky najednou budou francouzky. Přímo skvostné.
DJ Miky
Profil
BetaCam
A jaká je pravděpodobnost, že ve Francii se budeš připojovat ze svého PC přes francouzského ISP na internet? Mnohem spíše se budeš připojovat z francouzských PC (s nastavenou francouzštinou jako výchozí jazyk).
BetaCam
Profil
DJ Miky
A jaká je pravděpodobnost, že ve Francii se budeš připojovat ze svého PC přes francouzského ISP na internet?

V době notebooků?? Myslím, že celkem velká. :)

Navíc další věc sou proxy to že se připojuji přes nějakou proxy z Ugandy neznamená, že z Ugandy opravdu sem.
DJ Miky
Profil
BetaCam
A myslíš, že ti proxy z Ugandy zachová hlavičky požadavku a pošle ti accept-language? :-)
BetaCam
Profil
DJ Miky
A myslíš, že ti proxy z Ugandy zachová hlavičky požadavku a pošle ti accept-language? :-)

Ugandskou sem nenašel tak sem to zkusil s Equadorskou :

Array
(
    [HTTP_USER_AGENT] => Mozilla/5.0 (Windows; U; Windows NT 6.0; cs; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3 FirePHP/0.1.2
    [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    [HTTP_ACCEPT_LANGUAGE] => cs,en-us;q=0.7,en;q=0.3
    [HTTP_ACCEPT_ENCODING] => gzip,deflate
    [HTTP_ACCEPT_CHARSET] => windows-1250,utf-8;q=0.7,*;q=0.7
    [HTTP_X_PROXY_ID] => 1320943749
    [HTTP_VIA] => 1.1 200.25.193.67 (Mikrotik HttpProxy)
    [PATH] => /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
    [SERVER_SOFTWARE] => Apache/2.0.53 (Unix)
    [SERVER_PORT] => 80
    [REMOTE_ADDR] => 200.25.193.67
    [DOCUMENT_ROOT] => /hosting/www
    [REMOTE_PORT] => 58957
    [GATEWAY_INTERFACE] => CGI/1.1
    [SERVER_PROTOCOL] => HTTP/1.1
    [REQUEST_METHOD] => GET
    [QUERY_STRING] => 
    [REQUEST_URI] => /
    [SCRIPT_NAME] => /index.php
    [PHP_SELF] => /index.php
    [REQUEST_TIME] => 1224278964
)
svadla
Profil
vice se mi libi zjistovani pres ip, tot vse
mark
Profil
ďakujem......
Mike8748
Profil
BetaCam
nic proti ale detekce podle accept language je jeste horsi nez podle ip adresy
me prohlizece odesilaji AL jako en, en-us a neznamena to ze sem anglican/american
pravdepodobnost ze nekdo ma IP z jiny zeme je mensi nez nedostatecna informace v Accept language
BetaCam
Profil
Mike8748

To že si neumíš ten prohlížeč nastavit nemá nic společného se spolehlivostí. To že v HTTP_ACCEPT_LANGUAGE nejsou relevantní údaje je způsobeno uživatelovou leností ( neschopností ) si prohlížeč nastavit. Problém je tedy na straně uživatele a né v aplikaci. Je to věc kterou může uživatel ovlivnit.

Naopak IP je zaprvé věc kterou uživatel moc neovlivní a zadruhé krytí za proxy servery nebo připojování se z cizích zemí je dnes více než běžné.

ACCEPT_LANGUAGE s trochou nadsázky slouží proto aby se poznalo jakou řečí člověk mluví.

IP nemá s řečí nic společného dá se zní zjistit maximálně lokace uživatele a to ještě dosti nespolehlivě.

Pokud tedy nastane problém s detekcí jazyka tak při použití :

ACCEPT_LANGUAGE je chyba na straně klienta

a při použití

IP je chyba na straně aplikace
Mike8748
Profil
BetaCam
jde o standartni instalaci, kterou ma tak 90% uzivatelu. kolik myslis ze je uzivatelu co vi ze neco jako Accept language existuje a ze se to da menit?
BetaCam
Profil
Mike8748
jde o standartni instalaci, kterou ma tak 90% uzivatelu. kolik myslis ze je uzivatelu co vi ze neco jako Accept language existuje a ze se to da menit?

No a to je právě to o čem mluvím. Převádíš chybu klienta na chybu v aplikaci. :)

Kontrolovat to podle IP je asi jako zjištovat jakou řečí někdo mluví podle toho jakým jezdí autem :

Škoda - Česky
Renault - Francouzky
Ferrari - Italsky
MG - Anglicky
atd...
ninja
Profil
Plne souhlasim s BetaCamem, jazyk se ma urcovat podle Accept_language, ne podle IP adresy.

Nevim o jakych spatnych nastavenich mluvite. Vetsina lidi pouziva operacni system/prohlizec ve svem nejoblibenejsim jazyku (v CR cestine) a prohlizec se tak sam nastavy, ze posila jako primarni cestinu. IE, Firefox i Opera.

Vratit navstevnikovi stranku v jinem jazyku, nez si ji vyzadal, je skvela ukazka pohrdani.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0