发新话题
打印

[转贴]电信网通双网接入IP自动判断跳转功能的实现

[转贴]电信网通双网接入IP自动判断跳转功能的实现

目前很多网站都实现了电信网通双网接入,实现的方案大致有2种,DNS轮巡和自己添加IP判断/转发程序,这2种方案都有各自的优缺点.这2种方案都需要一个电信域名和一个网通域名,假设为DX.ABC.COM,WT.BAC.COM,分别解析指向电信IP,网通IP.主域名假设为WWW.ABC.COM

1.dns论巡.对于懂得域名解析的人来说不难,只需将主域名的别名设置为空间商提供的DNS轮巡服务器域名地址就可以了.但是DNS轮巡服务器毕竟是空间商所有网站共用的,如果他的这些网站访问量很大的话就容易出现问题--判断转发速度很慢,甚至死机导致主域名不能访问.这种情况我就是碰到了.主域名的访问要比电信网通域名慢的多.

2.自行添加判断IP判断转发.这种功能需要站长懂得一点网页编程.这种方案除了需要上述的网通电信域名和主域名外,还需要增加一个网站默认首页(比如DEFAULT.ASP),与真正的网站内容首页(比如INDEX.ASP)分开,所有的直接访问电信网通域名和主域名的连接都先通过默认首页DEFAULT.ASP进行判断,然后转发到DX.ABC.COM/index.asp或WT.BAC.COM/index.asp;记住,转发地址必须加/index.asp,不然又进入默认首页进行判断IP了,就进入死循环了.

你可以阅读下面的代码,它是完整的判断IP转发功能.你可以复制保存为一个asp文件.

该文件的代码如下:


代码:
<%
On Error Resume next
dim conn,dbpath,UserIP
set conn=server.createobject("adodb.connection")
DBPath = Server.MapPath("db/IPdb.mdb")  '需要你自己修改你的IP数据库路径和文件名字
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBPath
If Err Then
  err.Clear
  Set Conn = Nothing
  Response.Write "数据库正在更新中,无法判断您的IP地址,现在直接为您转到电信的IP网站地址上.如果您知道您所在的网络是电信或网通的网络,请直接选择在网站顶部的电信网通连接"

  response.redirect "http://dx.3g-express.com/index.asp"
  
End If
myip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If myip = "" Then myip = Request.ServerVariables("REMOTE_ADDR")
tempip=myip
myip = Split(myip,".")
if Ubound(myip)=3 then
For i=0 To Ubound(myip)
myip(i)=left(myip(i),3)
if isnumeric(myip(i)) then
myip(i)=cint(myip(i))
else
myip(i)=0
end if
next
myipnumeber=myip(0)*256*256*256+myip(1)*256*256+myip(2)*256+myip(3)
sql="select city from dv_address where ip1<="&myipnumeber&" and ip2>="&myipnumeber
set rs1=conn.execute(sql)
if not rs1.eof then
response.redirect "http://cnc.3g-express.com/index.asp" '是网通的话则跳转到网通的网址去,自己修改为自己的网站
Else
response.redirect "http://dx.3g-express.com/index.asp" '不是网通的则跳转到的网址,自己修改,不废话了
end if
rs1.close
set rs1=nothing
conn.close
set conn=nothing
end if%>

上面的代码需要你修改的地方有

1.修改IP数据库的路径和文件名,如果你没有IP数据库,那么百度一下或GOOGLE一下,应该有很多可以下载的,但是一般的都是比较老的,很不全,目前3g快车使用的是动网论坛支持的一个IP数据库,比较新的版本.大约有120000条IP记录.比较大,论坛里没法上传,你需要的话请通过客服qq与我联系.记住这个ip数据库要求是ACCESS能访问的数据库.你可以根据你的数据库表的字段修改上述代码中的sql语句.

2.修改转发的地址和内容首页名字.

TOP

发新话题
最近访问的版块