How to Redirect users based on their IP Address

Contributed by
Rating: 4 stars4 stars4 stars4 stars4 stars / 19
January 01, 2003
Rate this Article:
MEH MEH++


SEARCH ASP FREE
TOOLS YOU CAN USE

advertisement

Very often we are confronted with a situation where we need to have different versions of the same site based on the country of origin of the user. There are many reasons for this.

The content could differ in terms of registration forms or we might even have different language fonts for the regions. Another reason could be that you want to make a census as to how many people are coming from say INDIA or say from The WEST INDIES. What ever be the reason this article helps you build a foundation on which to improvise.

It also comes with a
Download version(zipped) of the coding. This article is meant to help create an asp program which will have the ability to redirect users based on their georaphical location. I have used a downloaded list of IPv4 ranges for india and written the code.

Here is a step-by-step approach to the problem...

Step 1 : Get the list of IPv4 ranges for the region of your choice
(Look into
www.apin.org for a beginning) and extract the ip's into a text file say call it ip.txt.
Step 2 : Get the IP address of the user and split it into an array with "." as the delimiter
Step 3 : Load the IP addresses from up.txt into a 2 dimensional array
Step 4 : Now for each IP range split the starting ip and ending ip into two arrays
Step 5 : Compare the corresponding numbers of the user ip array with those of the
fromip and toip arrays
Step 6 : Repeat Step 4 thru Step 5 in a while loop till u reach the end of the array.
Now Go thru the snippet of code below and readthru the comments to understand it line by line.

        dim ipfromto(45,45)

        yourip=split(request.ServerVariables("remote_addr"),".")


        realpath=server.MapPath("./iponly.txt")


       set myobj = server.CreateObject("scripting.filesystemobject")
       set myfile = myobj.OpenTextFile(realpath)

       i=1
      while not myfile.atendofstream
                line=myfile.readline
                temp=split(line,"-")

                ipfromto(i,1)=temp(0)
                ipfromto(i,2)=temp(1)

                i=i+1
     wend
     myfile.close


     flag=false
     j=1
     While j< 46


               'split the from-ip and to-ip based on "."
               'fromip has the from ip address in four parts
               'toip has the to ip address in four parts

               fromip=split(ipfromto(j,1),".")
               toip=split(ipfromto(j,2),".")
               if yourip(0) > = fromip(0) and yourip(0) < = toip(0) then

                   if yourip(1) > = fromip(1) and yourip(1) < = toip(1) then

                      if yourip(2) > = fromip(2) and yourip(2) < = toip(2) then

                         if yourip(3) > = fromip(3) and yourip(3) < = toip(3) then

                             flag=true

                         end if

                      end if
             end if 

          end if

          if flag=true then
             'Put your response.redirect() here
             flag=false
         else
            'Put your response.redirect() here
         end if

      j=j+1
      wend

%>
blog comments powered by Disqus
ASP CODE ARTICLES

- ASP Forms
- ASP: The Beginning
- Getting Remote Files With ASP Continued
- Inbox and Outbox Manipulation in ASP
- Relational DropDownList Using VB.NET
- Ad Tracking URL Hits
- Use ViewState to display one record per page...
- Send Email using ASP.NET formatted in HTML
- ASP File Explorer
- ASP/XML Interview questions by Srivatsan Sri...
- Pressing RETURN won't submit the form
- This shows how you get the TEXT of a combo r...
- Group Data by Adrian Forbes
- Multiple checkbox select sample
- Multiple checkbox select with all values sam...

ASP Web Hosting ASP.Net Web Hosting Windows Web Hosting
 
 
 

ASP Free Forums 
 RSS  Tutorials RSS
 RSS  Forums RSS
 RSS  All Feeds
Site Map 
Request Media Kit
Write For Us Get Paid 
Weekly Newsletter
 
Developer Updates  
Free Website Content 
Privacy Policy 
Support 


© 2003-2012 by Developer Shed. All rights reserved. DS Cluster 1 - Follow our Sitemap
Most Popular Topics
All ASP.Net Tutorials