为了账号安全,请及时绑定邮箱和手机立即绑定

关于asp ip地址判断,有了解的吗?

关于asp ip地址判断,有了解的吗?

杨魅力 2022-09-16 15:11:18
比如现在办公室网络是通过222.222.222.210\222.222.222.211\222.222.222.212,这几个地址代理上的网,办公室的机器址址有的是10.,有的是192.,这样怎么能判断是通过这三个地址连接的,如果是这三个地址的就访问1.html,如果不是通过这三个地址就访问2.html
查看完整描述

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


查看完整回答
反对 回复 2022-09-21
?
小唯快跑啊

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 地址


查看完整回答
反对 回复 2022-09-21
?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

说得乱七八糟实在看到就累!!

<%a=Request.ServerVariables("REMOTE_ADDR")%>
'''''''''a=ip地址

<%
If a=你的要求of你的要求of你的要求 Then
进入 1.html
else
否则进入 2.html
end if
%>


查看完整回答
反对 回复 2022-09-21
  • 3 回答
  • 0 关注
  • 127 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号