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]