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 |
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |
More ASP Code Articles More By Damodharan T.S. developerWorks - FREE Tools! | David Barnes, Lead Evangelist for IBM Emerging Internet Technologies will discuss aspects of Web 2.0 that bring value to corporations, academia, and government. He'll also discuss IBM's vision around Web 2.0, including the importance of remixability and consumability. The discussion will culminate with examples of various IBM Software Group solutions you can use to get ahead of the Web 2.0 adoption curve. FREE! Go There Now!
| | | | Effective governance for lean development isn’t about command and control. Instead, the focus is on enabling the right behaviors and practices through collaborative and supportive techniques. Hear from Scott Ambler on how it is far more effective to motivate people to do the right thing than it is to force them to do so. Learn how to form a lightweight, collaboration-based framework that reflects the realities of modern IT organizations. FREE! Go There Now!
| | | | Join us for this on demand webcast to learn about developing complex systems more quickly and efficiently. We'll cover market drivers for developing, governing and reusing systems software assets and how you can develop system software assets with Rational Asset Manager. FREE! Go There Now!
| | | | Download the Rational Application Developer (RAD) v7.5 open beta code and start developing applications for the JEE5 standard which features EJB3.0, JPA, JSF 1.2, JSP 2.1 and Servlet 2.5 standards. When you use this beta you will see how you can increase developer productivity for already existing applications with improved support for refactoring, as well as adding new features to existing applications. In addition, the beta provides tooling for JD Edwards, Oracle, SAP, Siebel and PeopleSoft to improve the developer productivity with these enterprise systems. FREE! Go There Now!
| | | | Discover how IBM Rational AppScan Standard Edition can help you detext vulnerabilities in your web applications in the Web Application Security eKit. IBM Rational AppScan is a leading suite of automated web application security solutions that scan and test for common Web application vulnerabilities. The new Web Application Security eKit provides you with valuable resources, including white papers, demos, and additional information on the benefits of testing your Web applications. FREE! Go There Now!
| | | | Secure your Web applications with IBM Rational AppScan Standard Edition V7.7, previously known as Watchfire AppScan. This Web application security testing tool automates vulnerability assessments and scans and tests for common Web application vulnerabilities. Visit IBM developerWorks to download a free trial of IBM Rational AppScan Standard Edition V7.7. FREE! Go There Now!
| | | | Regression testing -- in which code is thoroughly tested to ensure that changes have not produced unexpected results -- is an important part of any development process. But many testing environments neglect the terminal-based applications that still form the backbone of many industries. In this tutorial, you'll learn how the Rational Functional Tester Extension for Terminal-Based Applications works with other Rational Functional Tester to help test terminal-based applications quickly and easily. FREE! Go There Now!
| | | | Get a free trial download of the latest version of IBM Rational Functional Tester V7.0.1. Rational Functional Tester is an automated functional and regression testing solution for QA teams concerned with the quality of their Java, Microsoft Visual Studio .NET, and Web-based applications. FREE! Go There Now!
| | | | As businesses grow increasingly dependent upon Web applications, these complex entities grow more difficult to secure. Most companies equip their Web sites with firewalls, Secure Sockets Layer (SSL), and network and host security, but the majority of attacks are on applications themselves – and these technologies cannot prevent them. This paper explains what you can do to help protect your organization, and it discusses an approach for improving your organization’s Web application security. FREE! Go There Now!
| | | | Join the IBM Watchfire team for an informative discussion on techniques and best practices to proactively manage Web application security and how to effectively build application security testing into the software development lifecycle (SDLC). In this Software Delivery Platform webcast you will learn: How to better understand potential web application security vulnerabilities, best practices and how to effectively integrate application security testing into the software development lifecycle, the importance of detecting and removing software vulnerabilities during application development. FREE! Go There Now!
| | | | All FREE IBM® developerWorks Tools! | |