Click here to Skip to main content
15,884,099 members
Articles / Programming Languages / ASP
Article

GeoIP - Where are your internet visitors coming from?

Rate me:
Please Sign up or sign in to vote.
4.82/5 (17 votes)
31 Aug 20031 min read 277.2K   3.2K   75   33
Where are your internet visitors coming from?

Introduction

With GeoIP you can detect where your visitors are coming from. You can use this information to deliver personalized information (see image below), reducing credit card fraud, analyzing web server logs (I use it for SNIFF), target banner ads, .... (see Solutions at MaxMind - http://www.maxmind.com/)


Click on the image for a test

Note

If you can install a component on your web server, you should download the GeoIP component from MaxMind . I wrote GeoIP.asp since my provider doesn't allow me to install components.

Prerequisite

(Updated 1.sep.03, new urls) You need the GeoIP database - http://www.maxmind.com/app/standard, and you need ADO 2.5 or later since GeoIP.asp uses the ADO Stream object to read the GeoIP database.

Installation

  1. Download the GeoIP.dat database from MaxMind
    http://www.maxmind.com/app/standard
  2. Put GeoIP.asp, example.asp and GeoIP.dat in a catalog on your web server.
  3. Test the installation by accessing the example.asp page
    http://yourserver/path/example.asp

Methods and Properties

GeoIP.asp exposes these public methods and properties

Properties

  • GeoIPDataBase - Sets the path and filename to GeoIP.dat
  • ErrNum - Returns the error number (if <> 0, there's an error)

Methods

  • lookupCountryName - Find an IP's country name
    • example: strCountryName = oGeoIP.lookupCountryName(strIP)
  • lookupCountryCode - Find an IP's country code
    • example: strCountryCode = oGeoIP.lookupCountryCode(strIP)

Using the code

It's rather simple to use this code:

VBScript
<!--#include file="GeoIP.asp"-->
<%
Dim oGeoIP,strErrMsg
Dim strIP,strCountryName,strCountryCode

Set oGeoIP = New CountryLookup
oGeoIP.GeoIPDataBase = Server.MapPath("GeoIP.dat")
If oGeoIP.ErrNum(strErrMsg) <> 0 Then
	Response.Write(strErrMsg)
Else
	strIP = request.ServerVariables("REMOTE_ADDR")
	strCountryName = oGeoIP.lookupCountryName(strIP)
	strCountryCode = oGeoIP.lookupCountryCode(strIP)
End If
Set oGeoIP = Nothing
%>

Have fun coding, Per

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
Norway Norway
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralAwesome Pin
Larry Antram12-Jan-03 16:34
Larry Antram12-Jan-03 16:34 
GeneralExcelent Pin
Julio Rios10-Dec-02 7:29
Julio Rios10-Dec-02 7:29 
GeneralRe: Excelent Pin
Per S10-Dec-02 8:37
Per S10-Dec-02 8:37 
GeneralCool Pin
Paul Ingles1-Dec-02 7:20
Paul Ingles1-Dec-02 7:20 
GeneralRe: Cool Pin
Per S1-Dec-02 8:39
Per S1-Dec-02 8:39 
GeneralRe: Error when clicking image. Pin
Per S30-Nov-02 14:07
Per S30-Nov-02 14:07 
GeneralVery good programs... Pin
Wooseok Seo22-Jan-03 13:43
Wooseok Seo22-Jan-03 13:43 
Generalvery good ! Pin
coffeedrunk29-Nov-02 19:58
coffeedrunk29-Nov-02 19:58 
If the data of the database was collected from whois service ?

^oo^
GeneralRe: very good ! Pin
Per S30-Nov-02 0:18
Per S30-Nov-02 0:18 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.