/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Tjekke om IP er Dansk?
Fra : Dude


Dato : 14-11-08 23:41

Kan jeg tjekke om en IP adresse er dansk?
Og kan jeg tjekke om en IP er Hollandsk?

Eller er der en anden måde at tjekke om en bruger (efter al
sansynlighed) er dansk eller Hollandsk?

Mvh
john

 
 
Philip Nunnegaard (15-11-2008)
Kommentar
Fra : Philip Nunnegaard


Dato : 15-11-08 09:11

"Dude" <mailxxxikkedettexxx@johnkjoller.dk> skrev

> Kan jeg tjekke om en IP adresse er dansk?
> Og kan jeg tjekke om en IP er Hollandsk?
>
> Eller er der en anden måde at tjekke om en bruger (efter al sansynlighed)
> er dansk eller Hollandsk?

Måske ikke direkte.

Desværre er php.nets søgefunktion nede lige nu, men funktionen hedder noget
i retning af gethostbyip().

$ipadresse = $_SERVER["REMOTE_ADDR"];
$udbyder = gethostbyip($ipadresse); //Returnerer noget a la
"0x53585cb5.esnxx3.adsl-dhcp.tele.dk"

Desværre er der så nogle udbydere (også danske) der ligger på .com eller
..net.

Hold den evt. sammen med $_SERVER["HTTP_ACCEPT_LANGUAGE"].


Anders Wegge Keller (15-11-2008)
Kommentar
Fra : Anders Wegge Keller


Dato : 15-11-08 09:47

Dude <mailxxxikkedettexxx@johnkjoller.dk> writes:

> Kan jeg tjekke om en IP adresse er dansk? Og kan jeg tjekke om en
> IP er Hollandsk?

> Eller er der en anden måde at tjekke om en bruger (efter al
> sansynlighed) er dansk eller Hollandsk?

Du kan kigge på <http://www.maxmind.com/app/php>. Men hvis du vil
bruge adressen til at afgøre hvilket sprog siden skal vise, er det en
dum ide, medmindre du starter med at se på hvilket sprog der er
foretrukket i http-requesten, og giver mulighed for at skrifte sprog.

--
/Wegge

Philip Nunnegaard (15-11-2008)
Kommentar
Fra : Philip Nunnegaard


Dato : 15-11-08 12:24

"Anders Wegge Keller" <wegge@wegge.dk> skrev

> Du kan kigge på <http://www.maxmind.com/app/php>. Men hvis du vil
> bruge adressen til at afgøre hvilket sprog siden skal vise, er det en
> dum ide, medmindre du starter med at se på hvilket sprog der er
> foretrukket i http-requesten, og giver mulighed for at skrifte sprog.

Jeg havde så ikke skænket det en tanke, at det kunne være derfor han ville
finde ud af det.
Men i så fald er HTTP_ACCEPT_LANGUAGE jo den rigtige at bruge.
Den viser hvilket sprog brugeren *foretrækker* hjemmesiderne vist på.

Hvis man er virkelig raffineret, kan man kombinere det med en
cookie-løsning. Har man dansk som foretrukket sprog, men klikker på det
engelske flag på siden, husker den at jeg vil have vist denne side på
engelsk fremover uanset. I hvert fald indtil jeg igen klikker på det danske
flag.


MooreHojer (15-11-2008)
Kommentar
Fra : MooreHojer


Dato : 15-11-08 14:04

> Eller er der en anden måde at tjekke om en bruger (efter al
> sansynlighed) er dansk eller Hollandsk?

Google er din ven...

Teorien bag geolocation via ip er at man opbygger en database med kendte ip-adresser som man kender den fysiske placering af.
Da ip-adresser tildeles til udbyderne i "blokke" kan man sammenligne en given ip-adresse med sin database og derudfra gætte hvor denne ip-adresse hører til.
Der findes en del tjenester/firmaer der beskæftiger sig med at opbygge sådanne databaser og dem kan du finde ved en hurtig søgning på google.

Man skal dog være opmærksom på at det er gæt og ikke en garanti når de fortæller hvor ip'en kommer fra.
Som tommelfingerregel kan man dog gå ud fra at de for det meste gætter landet rigtigt og at betalingstjenester oftest er mere præcise end gratis tjenester.
Nogle af de gode kan faktisk også fortælle hvilken bt man sidder i.


Jeg har tidligere brugt hostip.info som har en gratis tjeneste man kan bruge.
Den fungere nogenlunde men er ikke helt fejlfri.
Den kan findes her:
http://www.hostip.info/use.html

Jeg har brugt den sådan her:
---------Start-----------
echo "<h4>" . file_get_contents("http://api.hostip.info/country.php?ip=" . $theIp) . "</h4>";
---------Slut------------

Den udskriver landekoden for den ip-adresse der ligger i variablen $theIp.


--
MooreHojer

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408918
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste