Carsten F wrote:
> Niels Baggesen wrote:
>
>> Carsten F <spam@spam.dk> wrote:
>>> Danske IP adresser ??
>>> i hvilket interval ligger de
>>> har selv et 212,242.***.***
>>> men de forskellige internet udbydere har vel deres egen ?
>>
>> Hver ISP har et antal, derudover er der private firmaer med egne
>> tildelinger, osv.
>>
>> Der er et perl modul som kan extrahere informationen fra RIPE, APNIC,
>> ARINC og LACNIC databaserne:
>>
http://search.cpan.org/~nwetters/IP-Country-2.17/lib/IP/Country.pm
>>
>> Med filer fra 1/9 giver det følgende data (startadresse, antal
>> adresser, landekode) for DK:
>>
>> 62.12.32.0|8192|DK
>> 62.27.6.64|64|DK
>> 62.40.79.248|8|DK
>> 62.44.128.0|16384|DK
> .............
>> 217.157.0.0|65536|DK
>> 221.97.210.0|256|DK
>>
>
> jeg havde håbet på at listen ikke var så lang
>
> mine intension var at kun ville lukke danske IP numre gennem til min
> web server, men det er en hvist et uoverskueligt projekt
>
> /Carsten
Nah, det er ikke umuligt. GeoIP fra MaxMind er en "nice" ting, den er
gratis hvis man kun skal bruge den til at afgøre landenavnet.
Et sted at begynde kunne være
http://www.codeproject.com/asp/geoip.asp
eller
http://www.maxmind.com/app/opensource
Jeg bruger den selv på min hjemmeside som et lille gimmick til at
fortælle besøgeren hvilket land vedkommende kommer fra (hvis de nu
skulle have glemt det)..
/Søren
* ASP Kodeeksempel:
* (LT) ~ "<"
* (GT) ~ ">"
(LT)%
dim szHost, szCountryCode, szCountryName, szImage
set geoip = Server.CreateObject("GeoIPCOM.GeoIP")
geoip.loadDataFile("D:\Program Files\GeoIP\GeoIP.dat")
szHost = Request.ServerVariables("REMOTE_ADDR")
szCountryCode = geoip.country_code_by_name(szHost)
szCountryName = geoip.country_name_by_name(szHost)
if szCountryName = "N/A" then
szCountryName = "Planet Earth"
end if
szImage = "/home/images/flags/" & szCountryCode & ".gif"
%(GT)
(LT)html(GT)
(LT)p(GT)Du er fra (LT)% Response.Write(szCountryName & " ")
%(GT)(LT)br(GT)
(LT)img src="(LT)% Response.Write(szImage) %(GT)"(GT)(LT)/p(GT)
(LT)/html(GT)