如何判断IP范围

深圳还是一样的深圳 2010-01-29 03:58:35

因为数据库startip与endip的字段有十万条,我用下面的程序得到的结果是:

116.30.108.219
IANA CZ88.NET

userIPnum = GetIpNum(userip) '读取客户真实IP转换 就算我把这句改成:userIPnum = GetIpNum("0.0.0.0")任意IP,得到的结果还是:
0.0.0.0
IANA CZ88.NET

为什么这个具体地址还是:IANA CZ88.NET

 <%

userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")

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

'先用一个自编函数将IP转换成数字,转换成数字,自然就可以指定范围了,列如查询192.168.0.0到192.168.0.255的记录.

userIPnum = GetIpNum(userip) '读取客户真实IP转换

set rs=server.CreateObject("adodb.recordset")
rs.open"select * from abcip ",conn,1,1
do while not rs.eof

if userIPnum > IP2Num(rs("startip")) and userIPnum < IP2Num(rs("endip")) then

response.write userip
response.write ("<br>")
response.write (rs("country"))
end if

rs.movenext
loop
rs.close




function IP2Num(sip)
dim str1,str2,str3,str4
dim num
IP2Num=0
if isnumeric(left(sip,2)) then
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)
num=cint(str1)*256*256*256+cint(str2)*256*256+cint(str3)*256+cint(str4)-1
IP2Num = num
end if
end function



%>
...全文
100 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dengkeyu 2010-01-29
  • 打赏
  • 举报
回复
晕。直接搞个纯真IP数据库就可以了
tonyrech 2010-01-29
  • 打赏
  • 举报
回复
楼上正解
http://www.l88bet.com
HooverHuangHui 2010-01-29
  • 打赏
  • 举报
回复
找个IP库进行比对啊。。。
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 chate 的回复:]
0.0.0.0得到的结果就应该是IANA CZ88.NET
116.30.108.219是广东,先在你数据库里找到这条信息排除一下是不是数据库的问题。

我的问题谁给回答一下啊:http://topic.csdn.net/u/20100125/22/c0c0a3bb-d7ab-43a1-b210-2b05ae1b1d97.html
[/Quote]

有这条数据.

现在问题是数据共有375773条记录 把IP转化成数字,好慢很慢,我看其它站的查询为什么那么快
chate 2010-01-29
  • 打赏
  • 举报
回复
0.0.0.0得到的结果就应该是IANA CZ88.NET
116.30.108.219是广东,先在你数据库里找到这条信息排除一下是不是数据库的问题。

我的问题谁给回答一下啊:http://topic.csdn.net/u/20100125/22/c0c0a3bb-d7ab-43a1-b210-2b05ae1b1d97.html
jinglouxiaoqu 2010-01-29
  • 打赏
  • 举报
回复
抢个sf,认真听讲

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧