Voor een logscript bepaal ik het land van de bezoeker aan de extentie van z'n ip.
.nl = nederland, etc.
Het enige nadeel is, is dat ca 25% .net is, ca 20% .com en ca 20% unknown. dat is bij elkaar 2/3 van m'n bezoekers.
Nu heb ik al eens zitten zoeken op internet hoe ik dat beter kon krijgen en kwam via een post hier bij tweakers geloof (weet niet zeker meer) bij de RIPE database terecht. Daar heb ik nu een bestand van 270MB vandaan met alle ip-ranges en het land waartoe het behoort, maar ook nog een heleboel andere onzin.
Voorbeeldje:
inetnum: 80.16.151.184 - 80.16.151.191
netname: NETECONOMY-MG41731
descr: TELECOM ITALIA LAB SPA
country: IT
admin-c: TILS2-RIPE
tech-c: TILS2-RIPE
status: ASSIGNED PA
notify: neteconomy.rete@telecomitalia.it
mnt-by: INTERB-MNT
changed: neteconomy.rete@telecomitalia.it 20010824
source: RIPE
Wat zou nu een slimme manier zijn om verder te gaan?
1. een script schrijven wat alles in een tabel gooit die er zo uit ziet
id | land | ip_min | ip_max
zodat ik telkens tussen ip_min en ip_max m'n waarde kan matchen en het land terug krijg?
en is het dan slim bij het loggen van de user die tabel aan te spreken voor het land zodat ik die gelijk mee op kan slaan, of is dat te traag in jullie ogen? Ik zou het desnoods 1x kunnen doen (1e keer) en dan in de sessie op slaan (zowie een slim plan natuurlijk mocht ik voor deze optie gaan)
Of bestaat er nog een makkelijkere manier?
(ik weet dat scriptrequests hier uit den boze zijn, maar heeft iemand dit enorme bestand misschien al eens op een soortgelijke wijze geconvert en dat script nog liggen?)
p.s. als ik voor de optie ga van in een database gooien kom ik zowiezo met het probleem dat het derde groepje cijfers in de min en max ook kan verschillen...dus dat wordt nog lastig om precies te bepalen waar zo'n ip tussen valt.
.nl = nederland, etc.
Het enige nadeel is, is dat ca 25% .net is, ca 20% .com en ca 20% unknown. dat is bij elkaar 2/3 van m'n bezoekers.
Nu heb ik al eens zitten zoeken op internet hoe ik dat beter kon krijgen en kwam via een post hier bij tweakers geloof (weet niet zeker meer) bij de RIPE database terecht. Daar heb ik nu een bestand van 270MB vandaan met alle ip-ranges en het land waartoe het behoort, maar ook nog een heleboel andere onzin.
Voorbeeldje:
inetnum: 80.16.151.184 - 80.16.151.191
netname: NETECONOMY-MG41731
descr: TELECOM ITALIA LAB SPA
country: IT
admin-c: TILS2-RIPE
tech-c: TILS2-RIPE
status: ASSIGNED PA
notify: neteconomy.rete@telecomitalia.it
mnt-by: INTERB-MNT
changed: neteconomy.rete@telecomitalia.it 20010824
source: RIPE
Wat zou nu een slimme manier zijn om verder te gaan?
1. een script schrijven wat alles in een tabel gooit die er zo uit ziet
id | land | ip_min | ip_max
zodat ik telkens tussen ip_min en ip_max m'n waarde kan matchen en het land terug krijg?
en is het dan slim bij het loggen van de user die tabel aan te spreken voor het land zodat ik die gelijk mee op kan slaan, of is dat te traag in jullie ogen? Ik zou het desnoods 1x kunnen doen (1e keer) en dan in de sessie op slaan (zowie een slim plan natuurlijk mocht ik voor deze optie gaan)
Of bestaat er nog een makkelijkere manier?
(ik weet dat scriptrequests hier uit den boze zijn, maar heeft iemand dit enorme bestand misschien al eens op een soortgelijke wijze geconvert en dat script nog liggen?)
p.s. als ik voor de optie ga van in een database gooien kom ik zowiezo met het probleem dat het derde groepje cijfers in de min en max ook kan verschillen...dus dat wordt nog lastig om precies te bepalen waar zo'n ip tussen valt.
[ Voor 8% gewijzigd door marty op 06-01-2003 04:57 ]