3 回答

TA贡献1829条经验 获得超6个赞
function getIP() '取真实来源ip的函数
getIP=""
dim fromip1,fromip2
fromip1 = trim(Request.ServerVariables("HTTP_X_FORWARDED_FOR"))&"" '优先取这个来源ip
fromip2 = trim(Request.ServerVariables("REMOTE_ADDR"))&""
if instr(1,fromip1,",",1) > 0 then '如果是多级代理的话,会有逗号间隔
fromip1=split(fromip1,",") '优先取第一个数组元素内容
if trim(fromip1(0)) = "" Or left(trim(fromip1(0)),3)="10." or left(trim(fromip1(0)),7)="172.16." or left(trim(fromip1(0)),7)="172.17." or left(trim(fromip1(0)),7)="172.18." or left(trim(fromip1(0)),7)="172.19." or left(trim(fromip1(0)),7)="172.20." or left(trim(fromip1(0)),7)="172.21." or left(trim(fromip1(0)),7)="172.22." or left(trim(fromip1(0)),7)="172.23." or left(trim(fromip1(0)),7)="172.24." or left(trim(fromip1(0)),7)="172.25." or left(trim(fromip1(0)),7)="172.26." or left(trim(fromip1(0)),7)="172.27." or left(trim(fromip1(0)),7)="172.28." or left(trim(fromip1(0)),7)="172.29." or left(trim(fromip1(0)),7)="172.30." or left(trim(fromip1(0)),7)="172.31." or left(trim(fromip1(0)),8)="192.168." then
if trim(fromip1(1)) = "" or left(trim(fromip1(1)),3)="10." or left(trim(fromip1(1)),7)="172.16." or left(trim(fromip1(1)),7)="172.17." or left(trim(fromip1(1)),7)="172.18." or left(trim(fromip1(1)),7)="172.19." or left(trim(fromip1(1)),7)="172.20." or left(trim(fromip1(1)),7)="172.21." or left(trim(fromip1(1)),7)="172.22." or left(trim(fromip1(1)),7)="172.23." or left(trim(fromip1(1)),7)="172.24." or left(trim(fromip1(1)),7)="172.25." or left(trim(fromip1(1)),7)="172.26." or left(trim(fromip1(1)),7)="172.27." or left(trim(fromip1(1)),7)="172.28." or left(trim(fromip1(1)),7)="172.29." or left(trim(fromip1(1)),7)="172.30." or left(trim(fromip1(1)),7)="172.31." or left(trim(fromip1(1)),8)="192.168." then
getIP = fromip2
else
getIP = trim(fromip1(1))
end if
else
getIP = trim(fromip1(0))
end if
else
if fromip1 = "" or left(fromip1,3)="10." or left(fromip1,7)="172.16." or left(fromip1,7)="172.17." or left(fromip1,7)="172.18." or left(fromip1,7)="172.19." or left(fromip1,7)="172.20." or left(fromip1,7)="172.21." or left(fromip1,7)="172.22." or left(fromip1,7)="172.23." or left(fromip1,7)="172.24." or left(fromip1,7)="172.25." or left(fromip1,7)="172.26." or left(fromip1,7)="172.27." or left(fromip1,7)="172.28." or left(fromip1,7)="172.29." or left(fromip1,7)="172.30." or left(fromip1,7)="172.31." or left(fromip1,8)="192.168." then
getIP = fromip2
else
getIP = fromip1
end if
end if
end function
dim ip
ip=getip()
if ip="222.222.222.210" or ip="222.222.222.211" or ip="222.222.222.210" then
response.Redirect ("1.html")
else
response.Redirect ("2.html")
end if

TA贡献1863条经验 获得超2个赞
<%
Function getIpvalue(clientIP) '得到客户端 的IP转换成长整型,返回值getIpvalue
Dim strIp, array_Ip
strIp=0
array_Ip = Split(clientIP,".")
If UBound(array_Ip)<>3 Then
getIpvalue=0
Exit Function
End If
For i=0 To 3
strIp=strIp+(CInt(array_Ip(i))*(256^(3-i)))
Next
getIpvalue=strIp
If Err Then getIpvalue=0
End Function
clientIP=request.ServerVariables("REMOTE_HOST")
IpValue=getIpvalue(clientIP)
strSql="select top 1 City from [Ipaddress] where "&IpValue&" between Ip1 and Ip2"
Set RsIp=conn.execute(strSql)
If RsIp.bof and RsIp.eof then
UrlCity="未知"
Else
UrlCity=RsIp.Fields.Item("City").Value '得到访问者的地理区域
End If
if instr(UrlCity,"ip1") = 1 then
response.write 地址1.html
elseif instr(UrlCity,"ip2") = 1 then
response.write 地址2.html
response.end
Else
response.write 地址3.html End If
%>
自己根据要求修改下,建立三个字段,ip1 ip2 地址

TA贡献1827条经验 获得超8个赞
说得乱七八糟实在看到就累!!
<%a=Request.ServerVariables("REMOTE_ADDR")%>
'''''''''a=ip地址
<%
If a=你的要求of你的要求of你的要求 Then
进入 1.html
else
否则进入 2.html
end if
%>
添加回答
举报