在制作一个大型网站的时候,可能需要按地区分站点,这样可以更精确的方便用户查找对应该地区的信息,根据IP来判断, 就会根据访问者的IP自动跳转到访问者所在城市的地区分站

参考代码如下:

Function lookaddress(sip)

Dim str1, str2, str3, str4

Dim num

Dim irs

If IsNumeric(Left(sip, 2)) Then

If sip = "127.0.0.1" Then sip = "192.168.0.1"

str1 = Left(sip, InStr(sip, ".") - 1)

sip = Mid(sip, InStr(sip, ".") + 1)

str2 = Left(sip, InStr(sip, ".") - 1)

sip = Mid(sip, InStr(sip, ".") + 1)

str3 = Left(sip, InStr(sip, ".") - 1)

str4 = Mid(sip, InStr(sip, ".") + 1)

If IsNumeric(str1) = 0 Or IsNumeric(str2) = 0 Or IsNumeric(str3) = 0 Or IsNumeric(str4) = 0 Then

Else

num = cdbl(str1) * 16777216 + cdbl(str2) * 65536 + cdbl(str3) * 256 + cdbl(str4) - 1

sql = "Select timezone from IPaddress where startip <=" & num & " and endip >=" & num

Set irs = conn.Execute(sql)

If irs.EOF And irs.BOF Then

lookaddress = "0"

Else

Do While Not irs.EOF

lookaddress = irs(0)

irs.MoveNext

Loop

End If

irs.Close

Set irs = Nothing

End If

Else

lookaddress = "0"

End If

End Function

userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")

If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")

visitflag = lookaddress(userip)

if visitflag = "" then

Response.Write("window.location.href='http:/www.kuzau.com';")

elseif visitflag="0660"

Response.Write("window.location.href='http:/sw.kuzau.com';")

end if

数据库结构:

表名:IPaddress

startip: 起始IP

endip: 结束IP

country: 所在位置

timezone: 电话区号(这里根据电话区号做判断,分站可以做到县级)

这里是一种自动跳转到用户所在地站点的办法,有好的办法,大家也可以共享一下。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐