我的知识:网络,广告,生意,销售,管理

日志主页 | 链接 | 标签 | 留言 | 管理

耀哥与你共享人生:

天马行空,记忆尘封,回头皆空!!
缘生缘灭,万事兼随缘,珍惜现在!

 

自动根据IP地址段进行网页跳转的实现

yaoee.com, 发表于:2009-06-16 18:23:51, 分类:IT知识 浏览( ) 评论( )  收藏这篇日志

有没有办法让系统自动判断用户是来自内网还是外网,并进行相应的地址跳转呢?答案是肯定的。我们发现只要把链接指向如下的一个ASP文件,它就可以帮助我们来进行自动了判断了:
<html>
<head>
<title>Test</title>
</head>
<body>
<%
dim ip
ip=Request.ServerVariables("REMOTE_ADDR") 获取客户端的IP
if ip="192.168.0.50" then    如果客户端IP为192.168.0.50(内网)
Response.Redirect "http://192.168.0.1" 直接重定向到内网的地址
elseif ip="202.202.202.202" then 如果客户端的IP为202.202.202.202(外网)
Response.Redirect "http://202.202.202.1" 则重定向到202.202.202.1
end if
%>
</body>
</html>


但问题还是有。以上一段代码,只能进行逐个判断,而网吧就有三百多台电脑,难道要让以上语句重复上百遍?应该还有其他的办法。让我们来对网吧的IP分析一下,内部的IP都是以“192.168”开头的,网吧内的IP都是以“192.168”开头的,现在我们只要交次将获得的IP地址进行分析,取出前面部分进行比较,如果是“192.168”,则判断为网吧用户,访问网吧内的地址192.168.0.1;如果是“202.202”,则判定为外网用户,访问202.202.202.1;如果两者都不是,则判定为非法用户,没有访问赊购资源的权限,重定向支出错页面。为了达到这个效果,我们需要用到 Split 函数对获得的IP以“.”为分界符进行分割,获得一个数组。如:
    dim ip,ipk
    ip=Request.ServerVariables("REMOTE_ADDR") 获得用户的IP
    ipk=split(userip,".",-1,1) 对获得的IP以“.”为分界符进行分割

   此时,如果客户的IP为202.202.202.202,则

    ipk(0)=“202”;
    ipk(1)=“202”;
    ipk(2)=“202”;
    ipk(3)=“202”;
   则ipk(0)&"."&ipk(2)="202.202"

  现在,我们可以将这个ASP文件进行如下的修改:
<head>
<title>网页自动转向程序-BY BABAI 2006</title>
</head>
<body>
<%
dim userip,ipk,gotourlip
userip=Request.ServerVariables("REMOTE_ADDR")
ipk=split(userip,".",-1,1)
gotourlip=ipk(0)&"."&ipk(1)
if gotourlip="192.168" Then 如果是网吧用户
Response.Redirect "http://a.52wp.com/" 导向到网吧的地址
Elseif gotourlip="202.202" then 如果是外网用户
Response.Redirect "http://b.52wp.com/" 导向到公网的地址
end If
Response.Redirect "http://www.52wp.com/eorry.htm 其他用户,则导向出错页面
%>
</body>
</html>  

  至此,根据IP自动进行网页重定向功能已经实现。不过由于有些浏览器不允许进行网页自动重定向,我们还需要在以上文件中加入几个手动链接,以确保网页能够被正常的访问到。


标签: 网络代码
正在读取日志的评论数据,请稍后……
正在加载日志评论签写框,请稍后……
成员登录通道
正在载入成员登录通道...
BLOG 日志归档
BLOG 站内搜索

BLOG 友情链接