get the .csv list here, either free or not-so-free:
http://www.maxmind.com/app/geoip_country
store it in a table.
use this code as your custom tag, call it CountryIPWhois.cfm:
<cfparam name="Attributes.IPAddress" default="">
<cfif NOT Len(Attributes.IPAddress)>
<!--- Find out the user's IP address, and from this work out the country
--->
<cfset Attributes.IPAddress = CGI.REMOTE_ADDR>
</cfif>
<cfset Attributes.IPAddress = Trim(Attributes.IPAddress)>
<cfif Len(Attributes.IPAddress)>
<!--- we have an IP address --->
<!--- check it has 4 parts --->
<cfif ListLen(Attributes.IPAddress, ".") EQ 4>
<!--- split it up into the 4 parts --->
<cfset w = ListGetAt(Attributes.IPAddress, 1, ".")>
<cfset x = ListGetAt(Attributes.IPAddress, 2, ".")>
<cfset y = ListGetAt(Attributes.IPAddress, 3, ".")>
<cfset z = ListGetAt(Attributes.IPAddress, 4, ".")>
<cfif IsNumeric(w) AND IsNumeric(x) AND IsNumeric(y) AND
IsNumeric(z)>
<!--- all parts are numeric --->
<cfset IPNumber = (16777216*w) + (65536*x) + (256*y) + z>
<!--- query the database to find out what country this IP
address belongs to --->
<cfquery name="getCountry" datasource="CountryIPWhois">
SELECT CountryCode, Country
FROM IPCountry
WHERE #IPNumber# >= IPNumberStart
AND #IPNumber# <= IPNumberEnd
</cfquery>
<cfif getCountry.RecordCount GT 0>
<cfset CALLER.IP_CountryCode = getCountry.CountryCode>
<cfset CALLER.IP_Country = getCountry.Country>
<cfelse>
<cfset CALLER.IP_Error = "Error: IP address not found
in database">
</cfif>
<cfelse>
<cfset CALLER.IP_Error = "Error: Part of the IP address
isn't numeric">
</cfif>
<cfelse>
<cfset CALLER.IP_Error = "Error: IP address must have 4 parts
seperated by dots">
</cfif>
<cfelse>
<cfset CALLER.IP_Error = "Error: No IP address found">
</cfif>
call it like this: <cf_CountryIPWhois IPAddress="#IPAddress#">
"Jenny"
<[EMAIL PROTECTED] To: <[EMAIL PROTECTED]>
place.org> cc:
Subject: Re: [ cf-dev ] IP and whois
22/09/2004
12:37
Please respond
to dev
could well be if i don't figured out the cfx ... thanks Tom. Going to try
the freebie way first.
Jenny
Admin and Development, chicksNchaps
http://www.chicksNchaps.co.uk
----- Original Message -----
From: Tom Smith
To: [EMAIL PROTECTED]
Sent: Wednesday, September 22, 2004 11:52 AM
Subject: Re: [ cf-dev ] IP and whois
we use ip2location any use to you?
http://www.ip2location.com/
----- Original Message -----
From: Jenny
To: [EMAIL PROTECTED]
Sent: Wednesday, September 22, 2004 11:40 AM
Subject: [ cf-dev ] IP and whois
Hi all,
Anyone know of a util that will look up an ip address and update a
database
with country location?
ie, I log the remote_addr .. the util scans the ip's in the database and
updates a country field based on the lookup. Loads of whois stuff out
there
if i wanted to do it one by one, but it'd be nice to automate it,
especially
with the volumes we deal with.
thanks,
Jenny
Admin and Development, chicksNchaps
http://www.chicksNchaps.co.uk
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.766 / Virus Database: 513 - Release Date: 18/09/2004
--
These lists are syncronised with the CFDeveloper forum at
http://forum.cfdeveloper.co.uk/
Archive: http://www.mail-archive.com/dev%40lists.cfdeveloper.co.uk/
CFDeveloper Sponsors and contributors:-
*Hosting and support provided by CFMXhosting.co.uk* :: *ActivePDF provided
by activepdf.com*
*Forums provided by fusetalk.com* :: *ProWorkFlow provided by
proworkflow.com*
*Tutorials provided by helmguru.com* :: *Lists hosted by
gradwell.com*
To unsubscribe, e-mail: [EMAIL PROTECTED]
--
These lists are syncronised with the CFDeveloper forum at
http://forum.cfdeveloper.co.uk/
Archive: http://www.mail-archive.com/dev%40lists.cfdeveloper.co.uk/
CFDeveloper Sponsors and contributors:-
*Hosting and support provided by CFMXhosting.co.uk* :: *ActivePDF provided by
activepdf.com*
*Forums provided by fusetalk.com* :: *ProWorkFlow provided by proworkflow.com*
*Tutorials provided by helmguru.com* :: *Lists hosted by gradwell.com*
To unsubscribe, e-mail: [EMAIL PROTECTED]