ajax 获取访问者ip,根据访问者IP跳转到该IP地区分站
在制作一个大型网站的时候,可能需要按地区分站点,这样可以更精确的方便用户查找对应该地区的信息,根据IP来判断,就会根据访问者的IP自动跳转到访问者所在城市的地区分站参考代码如下:Function lookaddress(sip)Dim str1, str2, str3, str4Dim numDim irsIf IsNumeric(Left(sip, 2)) ThenIf sip = "127..
在制作一个大型网站的时候,可能需要按地区分站点,这样可以更精确的方便用户查找对应该地区的信息,根据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: 电话区号(这里根据电话区号做判断,分站可以做到县级)
这里是一种自动跳转到用户所在地站点的办法,有好的办法,大家也可以共享一下。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)